1

確かに、それは私が見逃しているものです。Paypal API、特に古典的な API にはかなり新しいものです! 基本的に、私は次のコードを使用して、月額 2.50 ポンドで自分のサイトへのサブスクリプションを生成しています。Paypal サンドボックスの定期支払いダッシュボードにサブスクリプションを表示することはできますが、残高は変更されず、最初の支払いに関する情報が欠落しているようです。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);
?>
4

1 に答える 1

1

私はあなたのコードを取得し、独自のサンドボックス資格情報を使用しました。私にとってはうまくいったようです。

ここに画像の説明を入力

私の口座は米ドルなので請求されていませんが、問題なく機能したことがわかります。自分で実行した後、正しいサンドボックス アカウントを確認していますか?

于 2013-09-10T17:21:26.630 に答える