3

PayPalExpressバージョン95.0ASP.Net&C#

CurrencyCodeType currency = (CurrencyCodeType)
   Enum.Parse(typeof(CurrencyCodeType), currencyCode.SelectedValue);
PaymentDetailsType paymentDetails = new PaymentDetailsType();
paymentDetails.ShippingTotal = new BasicAmountType(currency, shippingTotal.Value);
paymentDetails.ItemTotal = new BasicAmountType(currency, itemTotal.ToString());
paymentDetails.OrderTotal = new BasicAmountType(currency, orderTotal.ToString());

しか見えませんShippingDiscount。/ SubTotalに割引を適用する方法をItemTotal知りたいです(個々のアイテムではありません)。

ここに画像の説明を入力してください

Paypal Express Checkoutを見つけました: SOで注文割引を適用しますが、答えは個々のアイテムの割引についてでした。

ご協力ありがとうございました!

4

1 に答える 1

3

ああ、神様!これを理解しただけです!割引として商品に別の商品を追加する必要があるという点で正しかった. 難しい部分は、小計/合計を正しく取得することでした!

ここに私のSUCCESS提出があります:

array(14) {
    //  ERROR AREA 1    //  Total Amount of Items (including -Discount) and shipping and tax
    ["PAYMENTREQUEST_0_AMT"]
            =>  string(4) "9.71"
    //  ERROR AREA 2    //  Total Amount of items ONLY, including the -Discount!
    ["PAYMENTREQUEST_0_ITEMAMT"]
            =>  string(4) "6.76"
    ["PAYMENTREQUEST_0_SHIPPINGAMT"]
            =>  string(4) "2.95"
    ["PAYMENTREQUEST_0_TAXAMT"]
            =>  string(1) "0"

    /*  ITEMS   */

        /*  ITEM 01 */
    ["L_PAYMENTREQUEST_0_NAME0"]
            =>  string(18) "Order # 987654"
    ["L_PAYMENTREQUEST_0_AMT0"]
            =>  float(12.51)
    ["L_PAYMENTREQUEST_0_NUMBER0"]
            =>  string(6) "987654"
    ["L_PAYMENTREQUEST_0_QTY0"]
            =>  float(1)
    ["L_PAYMENTREQUEST_0_ITEMCATEGORY0"]
            =>  string(8) "Physical"

        /*  ITEM 02 */
        /*  ¡THE DISCOUNT!  */
    ["L_PAYMENTREQUEST_0_NAME1"]
            =>  string(9) "PromoCode"
    ["L_PAYMENTREQUEST_0_AMT1"]
            =>  float(-5.75)
    ["L_PAYMENTREQUEST_0_NUMBER1"]
            =>  string(18) "Promo 123456"
    ["L_PAYMENTREQUEST_0_QTY1"]
            =>  float(1)
    ["L_PAYMENTREQUEST_0_ITEMCATEGORY1"]
            =>  string(8) "Physical"
}

成功!

array(6) {
    ["TOKEN"]
        =>  string(20) "NOTIMPORTANT"
    ["TIMESTAMP"]
        =>  string(20) "2014-10-03T12:39:06Z"
    ["CORRELATIONID"]
        =>  string(12) "NOTIMPORTANT"
    ["ACK"]
        =>  string(7) "SUCCESS"
    ["VERSION"]
        =>  string(2) "93"
    ["BUILD"]
        =>  string(8) "13154493"
}

はい、この質問が古いことは知っていますが、他にうまくいく答えが見つかりませんでした。だからここに私の実用的な解決策があります!

于 2014-10-03T12:51:55.010 に答える