小编Eam*_*onn的帖子

通过Stripe Connect进行交易

我正在尝试使用Stripe设置以下内容:

  • 一个主帐户
  • 多个子帐户(即通过Stripe Connect应用程序连接到主帐户)
  • 允许对子帐户进行付款,每次交易使用主帐户支付百分比费用.

我创建了一个主帐户和一个子帐户.我已通过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)在循环之前使用?

主账户和子账户目前都在使用测试环境和假卡,但我也想测试实时交易.

php stripe-payments stripe-connect

7
推荐指数
1
解决办法
2134
查看次数

具有全局特权的数据库用户无权访问新创建的数据库

我有一个数据库用户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)

php mysql

7
推荐指数
1
解决办法
324
查看次数

beforeunload 确认调用故障排除

我的代码:

//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)

三个变量(formChangesformDatainitFormData)都已正确填充,并且几乎没有测试表明它们在函数内被正确读取。问题是无论如何页面都会卸载,并且不会出现确认对话框。

控制台日志在卸载之前闪烁了一会儿(我似乎无法将其内容写入文件),并且我可以看到该消息Blocked confirm 'here' during beforeunload,但在我可以访问它之前它就消失了。任何帮助表示赞赏!

javascript jquery onbeforeunload

4
推荐指数
1
解决办法
1万
查看次数

在PHP中获取.htaccess RewriteBase参数的值

我想知道在PHP中是否有一个方法来获取.htaccess文件中设置的特定规则的值?在基本术语中:如果存在(例如)RewiteBase规则,它的价值是什么?

$_SERVER也许似乎没有任何东西可以在手册中提供这些服务fread()

php .htaccess

3
推荐指数
1
解决办法
1831
查看次数

$ _POST请求期间数据被切断

我无法确定以下$ _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)

php ajax jquery post

2
推荐指数
1
解决办法
1642
查看次数

MySQL/PHP preg_replace和KEEP重音和空格

我有一个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 +位) - 将不胜感激.

php mysql diacritics preg-replace

1
推荐指数
2
解决办法
6710
查看次数

了解LINQ查询和ViewModel

我有三个简单的表 - 用户组,工作人员和称呼.所有都有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)

c# sql linq visual-studio asp.net-mvc-4

1
推荐指数
1
解决办法
4251
查看次数

检索条带转移源事务

我正在尝试检索最新的条带传输及其所有相关数据 - 特别是它们的源事务.

请求工作正常,但该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)

php stripe-payments

1
推荐指数
1
解决办法
2198
查看次数

如何输出使用别名的MySQL查询的结果?

我有两个主要的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)

所有细节除了联系人(性别,颜色等)返回罚款.在 …

php mysql alias self-join echo

0
推荐指数
1
解决办法
6618
查看次数

PHP 解析 SOAP 响应

我正在尝试解析以下 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)

php xml soap

0
推荐指数
1
解决办法
2万
查看次数