Paypal API 定期付款余额

Posted

技术标签:

【中文标题】Paypal API 定期付款余额【英文标题】:Paypal API Recurring Payments Balance 【发布时间】:2013-09-14 08:45:47 【问题描述】:

当然,这只是我缺少的东西。 Paypal API 相当新,尤其是经典的 API!基本上,我使用以下代码以每月 2.50 英镑的价格生成对我网站的订阅。我可以让订阅出现在 Paypal Sandbox 的定期付款仪表板中,但它不会改变余额,而且似乎缺少与初始付款有关的事情。我也尝试过 INITAMT,它填写了一些字段,但仍然没有更改我帐户的沙盒余额。有什么想法吗?代码如下:

    <?php
// Set PayPal API version and credentials.
$api_version = '85.0';
$api_endpoint = 'https://api-3t.sandbox.paypal.com/nvp';
$api_username = 'MY_SANDBOX_USERNAME';
$api_password = 'MY_SANDBOX_PASSWORD';
$api_signature = 'MY_SANDBOX_SIGNATURE';

$startdate = gmdate('Y-m-d')."T00:00:00Z";
$request_params = array
               (
'USER' => $api_username, 
'PWD' => $api_password, 
'SIGNATURE' => $api_signature, 
'VERSION' => $api_version, 
'METHOD' => 'CreateRecurringPaymentsProfile',
'PROFILESTARTDATE' => $startdate,
'DESC' => 'Membership',
'BILLINGPERIOD' => 'Month',
'BILLINGFREQUENCY' => '1',
'TOTALBILLINGCYCLES' => '0',
'AMT' => '2.50',
'MAXFAILEDPAYMENTS' => '12',
'ACCT' => '4641631486853053',
'CREDITCARDTYPE' => 'VISA',
'CVV2' => '123',
'FIRSTNAME' => 'James',
'LASTNAME' => 'Smith',
'STREET' => 'FirstStreet',
'CITY' => 'London',
'STATE' => 'G London',
'ZIP' => 'W2 1NE',
'COUNTRYCODE' => 'GB',
'CURRENCYCODE' => 'GBP',
'EXPDATE' => '052015'
               );

// Loop through $request_params array to generate the NVP string.
$nvp_string = '';
foreach($request_params as $var=>$val)

   $nvp_string .= '&'.$var.'='.urlencode($val);   

// Send NVP string to PayPal and store response
$curl = curl_init();
      curl_setopt($curl, CURLOPT_VERBOSE, 1);
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
      curl_setopt($curl, CURLOPT_TIMEOUT, 30);
      curl_setopt($curl, CURLOPT_URL, $api_endpoint);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string);

$result = curl_exec($curl);      
curl_close($curl);
$nvp_response_array = parse_str($result);
print_r($result);
?>

【问题讨论】:

【参考方案1】:

我获取了您的代码并使用了我自己的沙盒凭据。它似乎对我来说效果很好。

因为我的帐户是美元,所以它是无人认领的,但你可以看到它确实工作得很好。您确定自己运行后检查的是正确的沙盒帐户吗?

【讨论】:

是的!使用正确的凭据。如果我进入定期付款仪表板,一切都会显示在那里……但余额肯定不会更新。 搞定了!是货币问题而不是其他问题!谢谢安德鲁!

以上是关于Paypal API 定期付款余额的主要内容,如果未能解决你的问题,请参考以下文章

Paypal 定期发票用于定期付款

使用 PayPal REST API 进行定期付款

Paypal 定期付款配置文件 API

Paypal Recurring api 用于查找下一次定期付款

Paypal 定期付款 API - 工作流程

通过 Paypal 的 API 取消定期付款