2

私の通話の流れは次のとおりです。

  • SetExpressCheckout
  • GetExpressCheckout
  • DoExpressCheckout

注: paymentAction は、1 回の支払いの場合は Sale であり、定期的な支払いの場合は Authorization です。

初期金額でCreateRecurringProfile(定期支払いのみ)

そうだと分かった:

お金の回収が保留されていました。

プロフィールはまた、最初の支払いのためにお金を差し引いた.

私がお金をキャプチャしようとしたとき、クライアントは 2 回引き落とされました。

質問:

  1. API 呼び出しに何が欠けているか教えてください。
  2. 定期支払いの場合、CreateRecurringPaymentsProfile API を呼び出す前に DoExpressCheckout API を呼び出す必要はないと思いますか?
  3. 質問 2 が true で、CreateRecurringPaymentsProfile API 呼び出しが $createRPProfileResponse->Ack == "SUCCESS" で成功した場合、それは最初の金額が保証され、サービスへのアクセスを許可できることを意味しますか?
4

1 に答える 1

1

あなたは自分のしていることに少しばかり気が抜けているようですね。定期的な支払いプロファイルを「承認」として設定することはありません。

チェックアウトが定期的な支払いだけの場合は、DoExpressCheckoutPayment を呼び出す必要はありません。たとえば、出荷する製品の 1 回限りの支払いが必要な状況でのみ、両方の呼び出し (DECP と CRPP) を行い、その上でサブスクリプションも作成します。あなたの場合、CRPPだけが必要なようです。

SEC と、オプションで GECD を呼び出す必要がありますが、CRPP で終了するだけです。(補足: SEC リクエストに Billing Agreement の詳細が含まれていることを確認してください。これは多くの人が犯すよくある間違いであり、CRPP を呼び出すときに無効なトークン エラーが発生します。)

成功の確認は、最初の金額が承認されたことを意味するものではありません。これは単に、プロファイルが正常に作成されたことを意味します。ただし、要求で使用できるパラメーター FAILEDINITAMTACTION を使用して、プロファイルをアクティブのままにするか、最初の支払いが失敗した場合にすぐに一時停止するかを指定できます。次の値を受け入れます: ContinueOnFailure / CancelOnFailure

ただし、混乱しないでください。実際には、プロファイルのステータスがキャンセルではなく一時停止に設定されるため、支払いが完了したら、簡単に再アクティブ化できます.

サイトの有料エリアにアクセスするためのログイン システムを構築する場合、GetRecurringPaymentsProfileDetails API を使用してプロファイルの現在のステータスを確認し、アクティブな場合にのみアクセスを許可できます。

それが役立つことを願っています!

于 2012-11-13T05:33:01.193 に答える