我目前正在我的网站中集成贝宝定期付款流程。在我的网站中,用户可以选择取消他的贝宝定期付款。我有每个用户的 payer_id 和 payer_email。是否可以使用这些详细信息取消定期付款。如果没有,如果特定用户单击从我的网站取消定期付款,我如何取消定期选项。
谢谢你。
我目前正在我的网站中集成贝宝定期付款流程。在我的网站中,用户可以选择取消他的贝宝定期付款。我有每个用户的 payer_id 和 payer_email。是否可以使用这些详细信息取消定期付款。如果没有,如果特定用户单击从我的网站取消定期付款,我如何取消定期选项。
谢谢你。
您可以使用 PROFILE_ID 取消所有您的 paypal 定期配置文件。并使用您的定期付款配置文件 ID 执行此代码。希望这会帮助你。
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_URL, 'https://api-3t.sandbox.paypal.com/nvp');
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(array(
'USER' => 'XXXXXXXXXXX', //Your API User
'PWD' => 'XXXXXXXXXXXXX', //Your API Password
'SIGNATURE' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXX', //Your API Signature
'VERSION' => '108',
'METHOD' => 'ManageRecurringPaymentsProfileStatus',
'PROFILEID' => 'I-315LHdijsju', //here add your profile id
'ACTION' => 'Cancel' //this can be selected in these default paypal variables (Suspend, Cancel, Reactivate)
)));
$response = curl_exec($curl);
curl_close($curl);
$nvp = array();
if (preg_match_all('/(?<name>[^\=]+)\=(?<value>[^&]+)&?/', $response, $matches)) {
foreach ($matches['name'] as $offset => $name) {
$nvp[$name] = urldecode($matches['value'][$offset]);
}
}
printf("<pre>%s</pre>",print_r($nvp, true));
您可以使用 ManageRecurringPaymentsProfileStatus API 暂停或取消配置文件。
请注意此参考。这专门用于快速结帐,但也适用于其他贝宝集成。
此处也已对此进行了回答,以供将来参考:您可以通过 API 取消 PayPal 自动付款吗?(通过托管按钮创建的订阅)