我正在尝试使用Stripe设置以下内容:
我创建了一个主帐户和一个子帐户.我已通过Stripe Connect将子帐户连接到主帐户.我在Stripe Connect过程结束时收到并存储了access_token和refresh_token.
付款时,一次付款可以涵盖多个项目.我有以下代码(PHP)来处理付款:
Stripe_Charge::create(array(
"amount" => $amt,
"currency" => "EUR",
"source" => $stripeCardToken,
"description" => $description),
"application_fee_percent" => 0.5
),
$stripeAccessToken
);
Run Code Online (Sandbox Code Playgroud)
对于每个付费项目,这都放在一个循环中.它也位于具有多个Stripe异常捕获的try/catch块中.但是,此方法失败,不会引发任何错误.
这是正确的类方法吗?是信用卡令牌的"来源"字段吗?有没有办法在不使用循环的情况下跟踪针对多个项目支付的金额?是 $stripeAccessToken从Connect进程返回的子帐户的access_token,还是refresh_token?或者它是Master Account Publishable/Secret密钥?或者是其他东西?我可以将这种格式用于$ stripeAccessToken,还是必须Stripe::setApiKey($stripeAccessToken)在循环之前使用?
主账户和子账户目前都在使用测试环境和假卡,但我也想测试实时交易.
我有一个数据库用户create_db_user,我已经授予了具有特定前缀的数据库的所有权限:
GRANT ALL PRIVILEGES ON 'myprefix\_%'.* TO 'create_db_user'@'localhost' WITH GRANT OPTION;
我有另一个standard_user我授予SELECT, INSERT, UPDATE, DELETE权限的数据库用户帐户.
全局用户执行一个创建新数据库的SQL语句:myprefix_new_db.它似乎没有任何问题(至少没有抛出异常).但是,当它尝试将SIUD权限授予新创建的数据库的标准帐户时,将引发以下异常:
SQLSTATE[42000]: Syntax error or access violation: 1044 Access denied for user 'create_db_user'@'localhost' to database 'myprefix_new_db' @ #0
因此,至少从表面上看,我的全局用户帐户似乎具有足够的权限来创建数据库,但还不足以与之交互.
确切的代码流程如下:
$create_db_user->query(" SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO' ");
$create_db_user->execute();
$stmt = ' CREATE DATABASE IF NOT EXISTS ' . $myprefix_new_db . ' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ';
$stmt.= ' USE ' . $myprefix_new_db . ';';
$stmt.= $sql_stmt; …Run Code Online (Sandbox Code Playgroud) 我的代码:
//hold window open on form change
window.onbeforeunload = function(e) {
if(formChanges > 0) {
if(formData != initFormData) {
if(confirm('here')) {
e.preventDefault();
}
else {
e = null;
}
}
else {
e = null;
}
}
else {
e = null;
}
};
Run Code Online (Sandbox Code Playgroud)
三个变量(formChanges、formData和initFormData)都已正确填充,并且几乎没有测试表明它们在函数内被正确读取。问题是无论如何页面都会卸载,并且不会出现确认对话框。
控制台日志在卸载之前闪烁了一会儿(我似乎无法将其内容写入文件),并且我可以看到该消息Blocked confirm 'here' during beforeunload,但在我可以访问它之前它就消失了。任何帮助表示赞赏!
我想知道在PHP中是否有一个方法来获取.htaccess文件中设置的特定规则的值?在基本术语中:如果存在(例如)RewiteBase规则,它的价值是什么?
$_SERVER也许似乎没有任何东西可以在手册中提供这些服务fread()?
我无法确定以下$ _POST请求的问题.问题是我通过AJAX $ _POSTing一个包含855条记录的数组,但我的AJAX控制器只接收833.它总是收到相同的记录,并且它总是在同一点切出:
JQuery的:
var f = {};
f.chargeID = chargeID;
f.method = 'saveIndividualApplications';
f.individualAmounts = individualAmts;
processing.show();
console.log(f); //all records present
console.log(Object.keys(f.individualAmounts).length); //855
return $.ajax({
type: 'post',
cache: false,
url: appControllerPath,
data: f
});
Run Code Online (Sandbox Code Playgroud)
PHP控制器:
$displayMaxSize = ini_get('post_max_size'); //125912
file_put_contents('post', $_SERVER['CONTENT_LENGTH'] . "\r\n"); //240M (increased this to 240 just to check)
file_put_contents('post', $displayMaxSize . "\r\n", FILE_APPEND);
file_put_contents('post', print_r($_SERVER, true), FILE_APPEND);
file_put_contents('post', count($_POST['individualAmounts']) . "\r\n", FILE_APPEND); //833
file_put_contents('post', print_r($_POST['individualAmounts'], true), FILE_APPEND); // data cuts off midway through 833rd record …Run Code Online (Sandbox Code Playgroud) 我有一个MySQL数据库,从PHP驱动的表单提供数据.表列整理为utf8_bin,连接字符集设置为UTF-8,因为是HTML.
经过广泛的谷歌搜索后,我似乎找不到任何明确的方法来使用preg_replace来删除不需要的字符(和数字),但保留大写/小写的重音符号,变音符号和空格.我拼凑起来的东西,似乎工作 - 但我不理解的事,所以不知道它是多么安全.因此,使用escape子句加倍:
$lname = preg_replace("/(<\/?)(\w+)([^>]*>)/e","", $lname);
$lname = mysql_real_escape_string($lname);
Run Code Online (Sandbox Code Playgroud)
我真正需要的是那种可以采用以下名称的条款(我的,作为一个例子):"ÉamonnMacLochlainn"并存储它,而不是"c389616d6f6e6eMacLochlainn"我也看了strip_tags,允许"ÁÉÍÓÚáéíóú ".这是前进的方向吗?
任何帮助 - 特别是对此片段中发生的事情的解释(\ w +位) - 将不胜感激.
我有三个简单的表 - 用户组,工作人员和称呼.所有都有ID,名称/描述和活动列.还为用户组分配了可选的员工ID,并为员工分配了非可选的称呼ID.我希望查询这些表,以返回所有活动用户组的完整列表,以及相关的工作人员(是任何人)及其相关的称呼.
一个有效的SQL查询如下:
SELECT grp.ID, grp.Desc, grp.Active, sub.Name, sub.Desc
FROM Tbl_UserGroup AS grp
LEFT JOIN (
SELECT st.ID, st.Name, sal.Desc
FROM PrmTbl_Staff AS st
LEFT JOIN PrmTbl_Salutation AS sal ON st.SalutationID = sal.ID
WHERE 1
) AS sub ON grp.StaffID = sub.ID
WHERE grp.Active = TRUE
ORDER BY grp.ID DESC
Run Code Online (Sandbox Code Playgroud)
我有一个ViewModel如下:
public class StaffUserGroup
{
public int GroupID { get; set; }
public string GroupDesc { get; set; }
public bool GroupActive { get; set; }
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试检索最新的条带传输及其所有相关数据 - 特别是它们的源事务.
请求工作正常,但该source_transaction字段始终为null.我的理解source_transaction是它应该将数据转移到为该转移提供资金的卡交易中.此类交易已生成,并显示在条带仪表板上,但未通过我的请求返回.
请求(没有捕获所有错误):
$stripe = new Stripe_Transfer();
$tmp = $stripe->all(["date"=>["gte"=>$_POST['dateFrom'], "lte"=>$_POST['dateTo']]],$c->stripe_secret_key);
Run Code Online (Sandbox Code Playgroud)
返回的传输对象(到数组):
[0] => Array
(
[apiKey] => abcd
[values] => Array
(
[id] => tr_1234
[object] => transfer
[created] => 1434857809
[date] => 1435017600
[livemode] => 1
[amount] => 5310
[currency] => eur
[reversed] =>
[status] => paid
[type] => bank_account
[reversals] => Array
(
[apiKey] => abcd
[values] => Array
(
[object] => list
[total_count] => 0
[has_more] =>
[url] => /v1/transfers/tr_1234/reversals …Run Code Online (Sandbox Code Playgroud) 我有两个主要的MySQL表(配置文件和联系人)和许多补充表(以prm_为前缀).它们通过PHP访问和操作.
在这个例子中,我正在查询配置文件表,我将在其中检索所有者ID和育种者ID.然后将针对联系人表格引用该表格,其中保留了所有者和育种者的信息.
关于连接和别名的另一个问题我在这里得到了很大的帮助,在那里我也提供了以下查询.不幸的是,我在实际回应结果方面遇到了巨大的困难.处理自联接和别名的每个站点都提供了可爱的查询示例 - 但随后跳到"和此输出等等".它是如何输出的?
SELECT *
FROM (
SELECT *
FROM profiles
INNER JOIN prm_breedgender
ON profiles.ProfileGenderID = prm_breedgender.BreedGenderID
LEFT JOIN contacts ownerContact
ON profiles.ProfileOwnerID = ownerContact.ContactID
LEFT JOIN prm_breedcolour
ON profiles.ProfileAdultColourID = prm_breedcolour.BreedColourID
LEFT JOIN prm_breedcolourmodifier
ON profiles.ProfileColourModifierID = prm_breedcolourmodifier.BreedColourModifierID
) ilv LEFT JOIN contacts breederContact
ON ilv.ProfileBreederID = breederContact.ContactID
WHERE ProfileName != 'Unknown'
ORDER BY ilv.ProfileGenderID, ilv.ProfileName ASC $limit
Run Code Online (Sandbox Code Playgroud)
再加上这个是以下PHP:
$owner = ($row['ownerContact.ContactFirstName'] . ' ' . $row['ownerContact.ContactLastName']);
$breeder = ($row['breederContact.ContactFirstName'] . ' ' . $row['breederContact.ContactLastName']);
Run Code Online (Sandbox Code Playgroud)
所有细节除了联系人(性别,颜色等)返回罚款.在 …
我正在尝试解析以下 SOAP 响应,需要一些指导:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ns2:LookupResponse xmlns:ns2="http://path-to/schemas">
<ns2:Name>My Name</ns2:Name>
<ns2:Address1>test</ns2:Address1>
<ns2:Address2>test</ns2:Address2>
...
</ns2:LookupResponse>
</env:Body>
</env:Envelope>
Run Code Online (Sandbox Code Playgroud)
我通过 cURL 检索响应:
$url = 'https://path-to-service';
$success = FALSE;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: text/xml; charset=utf-8',
'Content-Length: ' . strlen($request)
));
$ch_result = curl_exec($ch);
$ch_error = curl_error($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)
我是这一切的新手,所以请原谅明显的错误,但我随后尝试将响应作为对象进行迭代,正如 simpleXML 扩展所解析的那样,在此处引用 SO 答案并使用simplexml_debug插件来回显对象内容。
if(empty($ch_error))
{
$xml = simplexml_load_string($ch_result, NULL, …Run Code Online (Sandbox Code Playgroud)