2

PayPal SDK for .Net を使用して Adaptive Payments を使用しています。SetPaymentOptions メソッドを使用して支払い概要セクションに表示するアイテムを設定しようとしていますが、Pay メソッドから受け取った支払いキーを使用してサイトをサンドボックス承認ページにリダイレクトすると、支払い概要のみが表示されます「ファシリエーター アカウントのテスト ストア」と記載された 1 行と合計金額。

応答は成功コードを返します。さらに、BuisnessName (DisplayOptions 内) などの他のパラメーターがページに表示されていることがわかります。

以下は、実行しようとしているコードです (パラメーターは、実際のアカウント、URL、金額などにマップされる実際の値に置き換えられます)。誰が私が間違っているのか教えてもらえますか?

ありがとう!

        AdaptivePaymentsService service = new AdaptivePaymentsService();
        RequestEnvelope envelopeRequest = new RequestEnvelope();
        envelopeRequest.errorLanguage = "en_US";

        List<Receiver> listReceiver = new List<Receiver>();
        Receiver receive = new Receiver((decimal)300.15);
        receive.email = "receiver@mail.com";
        listReceiver.Add(receive);
        ReceiverList listOfReceivers = new ReceiverList(listReceiver);

        PayRequest reqPay = new PayRequest(envelopeRequest, "CREATE", "url",
            "USD", listOfReceivers, "url");
        reqPay.sender = new SenderIdentifier();
        reqPay.sender.email = "sender@mail.com";

        PayResponse responsePay = service.Pay(reqPay);

        if (responsePay != null && responsePay.responseEnvelope.ack.ToString().Trim().ToUpper().Equals("SUCCESS"))
        {
            SetPaymentOptionsRequest payOptionsReq = new SetPaymentOptionsRequest();
            payOptionsReq.displayOptions = new DisplayOptions()
            {
                businessName = "My business name"
            };
            payOptionsReq.payKey = responsePay.payKey;
            payOptionsReq.requestEnvelope = envelopeRequest;
            payOptionsReq.receiverOptions = new List<ReceiverOptions>()
                {
                    new ReceiverOptions()
                    {
                        receiver = new ReceiverIdentifier()
                        {
                            email = "receiver@mail.com"
                        },
                        description = "invoice test",
                        invoiceData = new InvoiceData()
                        {
                            item = new List<InvoiceItem>()
                            {
                                new InvoiceItem()
                                {
                                    identifier = "1",
                                    itemCount = 2,
                                    itemPrice = (decimal)100.0,
                                    name = "test",
                                    price = (decimal)150.0
                                },
                                new InvoiceItem()
                                {
                                    identifier = "2",
                                    itemCount = 1,
                                    itemPrice = (decimal)100.0,
                                    name = "test2",
                                    price = (decimal)150.15
                                }
                            },
                            totalShipping = 0,
                            totalTax = 0
                        }
                    }
                };

            SetPaymentOptionsResponse r = service.SetPaymentOptions(payOptionsReq);

            // ....
        }
4

1 に答える 1