Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP中的PayPal API直接将资金从一个个人帐户转移到另一个个人帐户_Php_Paypal_Paypal Rest Sdk_Paypal Adaptive Payments - Fatal编程技术网

使用PHP中的PayPal API直接将资金从一个个人帐户转移到另一个个人帐户

使用PHP中的PayPal API直接将资金从一个个人帐户转移到另一个个人帐户,php,paypal,paypal-rest-sdk,paypal-adaptive-payments,Php,Paypal,Paypal Rest Sdk,Paypal Adaptive Payments,我想知道用PHP将资金从一个人转移到另一个人的最佳选择是什么。 以前有一些解决方案,但现在这些都被弃用,如自适应API等。 我在中找到了一个解决方案,但当我转账时,它会发送到我的默认业务帐户。 代码如下: $params = [ 'intent' => 'CAPTURE', 'purchase_units' => [ [ 'amount' => [ 'currency_code' =>

我想知道用PHP将资金从一个人转移到另一个人的最佳选择是什么。 以前有一些解决方案,但现在这些都被弃用,如自适应API等。 我在中找到了一个解决方案,但当我转账时,它会发送到我的默认业务帐户。 代码如下:

$params = [
    'intent' => 'CAPTURE',
    'purchase_units' => [
        [
            'amount' => [
                'currency_code' => $currency,
                'value' => (string) $amount
            ],
            'payee' => [
                'email_address' => $address //receiver user PayPal email address
            ]
        ]
    ]
];
$data = $this->encodeData($params);
$headers = $this->getAuthHeaders($data);
$res = $this->execute('POST, '/v2/checkout/orders', $data, $headers);
真奇怪为什么我不能直接发送给这个收件人

数据==>{“意图”:“捕获”,“购买单位”:[{“金额”:{“货币代码”:“美元”,“价值”:“50”},“收款人”:{“电子邮件”:“sb”-13431550910@personal.example.com“}}],“应用程序\上下文”:{“用户\操作”:“立即付款”,“发货\首选项”:“无发货”,“返回\ url”:”https://xxx.com,“取消url”:https://xxx.com“}}:这是$data

您的请求数据指定的是
电子邮件
,而不是
电子邮件地址
,因此这是无法识别和忽略的


检查您的encodeData函数以了解发生这种情况的原因。

Hmm,乍一看这实际上是正确的。你能在设置后立即将你的
$data
$res
运行日志转储,这样我们就可以看到哪里出了问题吗?{“id”:“1U6354702F236135S”,“status”:“CREATED”,“links”:[{“href”:“https:\/\/api.sandbox.paypal.com\/v2\/checkout\/orders\/1U6354702F236135S”,“rel”:“self”,“method”:“GET”,{“href”:“https:\/\/www.sandbox.paypal.com\/v2\/checkout\/orders\/1U6354702F236135S”,“rel:“approve”,“method:“GET”},{“href:“https:\/\/api.sandbox.paypal.com\/v2\/checkout\/orders\/1U6354702F236135S”,“rel:“update”,“method:“PATCH”},{“href:“https:\/\/api.sandbox.paypal.com\/v2\/checkout\/orders\/collection\/6354702F236135S”;“capture”,“rel:“capture”;“capture”;“capture”,“POST”;“发布”:这是
$res
数据===>{“意图”:“捕获”,“购买单位”:[{“金额”:{“货币代码”:“美元”,“价值”:“50”},“收款人”:{“电子邮件”:“sb”-13431550910@personal.example.com“}}],“应用程序上下文”:{“用户操作”:“立即付款”,“发货首选项”:“不发货”,“返回url”:“https:\/\/xxx.com”,“取消url”:“https:\/\/xxx.com”}:这是$databut,但在批准后,
收款人
地址随我的主要凭证所有者帐户更改:{…“状态”:“已批准”,“购买单位”:[{“参考id”:“默认”,“金额”:{“货币代码”:“USD”,“值”:“50.00”},“收款人”:{“电子邮件地址”:htag@bodproductions.com“…”,“付款人”:{“姓名”:{“姓名”:“约翰”,“姓氏”:“Doe”},”电子邮件地址:“sb”-ksyxz5947819@personal.example.com“,“付款人id”:“96Z48PGVR3WRE”,“地址”:{“国家代码”:“美国”}….}}交易完成后,如果我用捕获api再次检查状态,将给出错误?{“名称”:“无效的资源id”,“消息”:“未找到请求的资源id”,“调试id”:“ffbbcd8fe8042”,“信息链接”:”https:\/\/developer.paypal.com\/docs\/api\/payments.paymouts batch\/\\ errors”,“details:[],“links:[]}v1/payments/paymouts与上述任何一项都不相关,也许您正在寻找v2/payments/captures,但是,由于接收方帐户与您的帐户不同,您可能没有按交易ID获取的权限。