0

私のアプリケーションはサブスクリプション サービスを許可しており、これにはペイパルの定期支払いを使用しています。そこのマニュアルによると、私が使用した順序は SetExperssCheckOut-->GetExppressCheckOut-->DoExpressCheckOut->CreateRecurringPayment Profile です。

DoExpressCheckOut イベント自体で最初の支払いが行われ、その後、定期的な支払いプロファイルの作成時に次の支払いが行われます。エクスプレスチェックアウトからの支払いと1)。3日目の終わりに3回だけ支払いたいです。私が使用したコードは次のとおりです。

    GetExpressCheckout getExpressCheckout = new GetExpressCheckout();
        GetExpressCheckoutDetailsResponseType getExpressCheckoutResponse = getExpressCheckout.ECGetExpressCheckoutCode(token);

        if (getExpressCheckoutResponse.Ack == AckCodeType.Success)
        {
            ExpressCheckout expressCheckout = new ExpressCheckout();
            DoExpressCheckoutPaymentResponseType doExpressCheckoutResponse = expressCheckout.DoExpressCheckoutPayment
                                                        (
                                                            token,
                                                            getExpressCheckoutResponse.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerID,
                                                            PayPalSettings.OrderAmount,
                                                            PaymentActionCodeType.Sale,
                                                            CurrencyCodeType.USD
                                                        );

            if (doExpressCheckoutResponse.Ack == AckCodeType.Success)
            {
                //create Recurring Payment Profile
                CreateRecurringPaymentsProfile createRecurringPaymentsProfile = new CreateRecurringPaymentsProfile();
                CreateRecurringPaymentsProfileResponseType recurringPaymentProfileResponse = createRecurringPaymentsProfile.CreateRecurringPaymentsProfileCode(
                                                                                                doExpressCheckoutResponse.DoExpressCheckoutPaymentResponseDetails.Token,
                                                                                                doExpressCheckoutResponse.Timestamp,
                                                                                                PayPalSettings.OrderAmount,
                                                                                                1,
                                                                                                BillingPeriodType.Day,//BillingPeriodType.Month
                                                                                                CurrencyCodeType.USD
                                                                                                );
                if (recurringPaymentProfileResponse.Ack == AckCodeType.Success)
                {
//Do something
}

定期支払いセクションですべての支払いを行うにはどうすればよいですか?

4

1 に答える 1

1

定期支払いを使用する場合、DoExpressCheckoutPayment API 呼び出しは必要ありません。顧客が認証のために PayPal にリダイレクトされると、顧客はスケジュールされた支払いに対して同意を提出します。

DoExpressCheckoutPayment API 呼び出しをスキップしてみてください。これにより、余分な支払いが処理されます。

問題が発生した場合はお知らせください。

于 2013-03-12T14:33:32.030 に答える