私のアプリケーションでは、paypal advanced を使用して定期請求セクションを設定する必要があり、payflow セクションを使用して同じことを行っています。定期的なプロファイルを作成するには、Pay with PayPal ボタン プロセス (エクスプレス チェックアウト プロセス) とクレジット カード支払いの両方が必要です。私の最初のリクエストは次のようなものです:
public static PayPalRedirectAdv PayFlow()
{
NameValueCollection requestArray = new NameValueCollection()
{
{"PARTNER", "PayPal"}, // You'll want to change these 4
{"VENDOR", "merchantname"}, // To use your own credentials
{"USER", "username"},
{"PWD", "abcdenfg"},
{"TRXTYPE", "A"},
{"AMT", "1.00"},
{"CURRENCY", "USD"},
{"CREATESECURETOKEN", "Y"},
{"SECURETOKENID", "tokenId generated"},
{"RETURNURL", UrlReturn},
{"CANCELURL", UrlCancel},
{"ERRORURL", lUrlError},
{"BILLINGTYPE","RecurringBilling"}
};
NameValueCollection resp = run_payflow_call(requestArray); // Will call the payflow end point via HttpWebRequest
if (resp["RESULT"] == "0")
{
string mode = "TEST";
return new PayPalRedirectAdv
{
Url = "https://payflowlink.paypal.com?SECURETOKEN=" + resp["SECURETOKEN"] + "&SECURETOKENID=" + resp["SECURETOKENID"] + "&MODE=" + mode
};
}
else
{
return new PayPalRedirectAdv { Url = string.Empty };
}
}
プロセスが完了したら、URL を IFrame に設定し、mvc プロジェクトのビューの 1 つに埋め込まれます。IFrame が読み込まれると、2 つの問題があります。
1) ページが最上位にリダイレクトされます。これは、ブラウザ ウィンドウが IFrame URL にリダイレクトされることを意味します。ホストされているチェックアウト ページとしてレイアウト C を選択しました。デモ プロジェクトで提供された資格情報を使用すると、ブラウザーのナビゲーションが解決されます。つまり、Iframe がビューに正しく読み込まれました。これを防ぐための Paypal マネージャー設定の設定はありますか? 最上位のナビゲーションをサンドボックス化することでこれを修正しようとしましたが、[Paypal でチェックアウト] ボタンをクリックして Paypal サイトにリダイレクトできません。
2) クレジット カードでの支払いの場合、取引が成功したら、次の方法で既存の取引をプロファイルに変換します。
"TRXTYPE=R&TENDER=C&PARTNER=PayPal&VENDOR=Acme&USER=Acme&PWD=a1b2c3d4&ACTION=A&PROFILENAME=RegularSubscription&ORIGID=<PNREF>&START=12012002&PAYPERIOD=
WEEK&TERM=12&OPTIONALTRX=S&OPTIONALTRXAMT=2.00&COMMENT1=First-time
customer&AMT=42.00"
これは正常に機能し、定期的なプロファイルが作成されます。
ただし、[Paypal でチェックアウト] ボタンをクリックすると、Paypal の資格情報を使用して Paypal にログインできる Paypal ページが表示されます。アカウント。これにも PNERF 値があり、上記の同じコードを使用して Tender を P に置き換えてトランザクションを定期的なプロファイルに変換すると、「この ID に対応するトランザクション ID が見つかりません」という応答メッセージが表示されます。Paypal のチェックアウト プロセスでは、ユーザーが定期的な支払いセクションに移動しようとしているという情報は表示されません。
また、タスクを実行するために定期請求で Express Checkout を使用しましたが、DoExpressCheckout ステップで BAID を null として取得しました。
私のサイトでは、paypal で支払うオプションとクレジットで支払うオプションの両方が必要ですが、これを実現するにはどのパラメーターを使用すればよいですか?
前もって感謝します。