2

私は PayPal SOAP API の操作に少し気が狂いそうです。実際のプロセスは正常に機能しています。つまり、Paypal にリダイレクトすると、プロセスがリダイレクトされて、注文を受けて処理することができません。

私が抱えている問題は、カートの内容をペイパルのページに送信して、彼らが支払っているものの概要を説明できないことです. PaymentDetails 配列を使用してみましたが、この種のアイテムは 1 つのアイテムで機能しましたが、複数のアイテム (および複数の paymentDetail オブジェクト) が失敗しました。

これが.Netでどのように機能するかを知っている人はいますか、またはこれらのアイテムをどこに置くべきかについて何か考えがありますか?espressチェックアウトプロセスのカスタマイズに関するドキュメントを見つけましたが、これはNVP API用であり、 SOAP API。

4

1 に答える 1

1

私は正しい領域を見ていましたが、焦点が合っていませんでした。PaymentDetails オブジェクトには、項目が移動する PaymentDetailsItem 配列が含まれています。コードを整理する必要がありますが、他の誰かがそれを必要とする場合は、一般的なアイデアを提供する必要があります。

    PaymentDetailsType[] pmtDetails = new PaymentDetailsType[1];
    pmtDetails[0] = new PaymentDetailsType();
    var pmtIndex = 0;

    PaymentDetailsItemType[] items = new PaymentDetailsItemType[cartItems.Count];

    foreach (var item in cartItems)
    {
        var i = new PaymentDetailsItemType()
        {
            Name = item.productName,
            Number = item.productID.ToString(),
            Quantity = item.quantity.ToString(),
            Amount = new BasicAmountType(){ currencyID = CurrencyCodeType.GBP, Value = item.productPrice.ToString() }
        };
        items[pmtIndex] = i;
        pmtIndex++;
    }
    //reqDetails.p
    //reqDetails.PaymentDetails = pmtDetails;
    //hOrderTotal.Value
    // 
    pmtDetails[0].PaymentDetailsItem = items;
    pmtDetails[0].OrderTotal = new BasicAmountType() { currencyID = CurrencyCodeType.GBP, Value = HttpContext.Current.Session["_OrderTotalLessShippingAmount"].ToString() };
    reqDetails.PaymentDetails = pmtDetails;
于 2012-10-31T15:27:07.487 に答える