2013-05-12 67 views
2

我試圖用貝寶Expresscheckout計費協議ID測試參考交易。但我根本沒有得到BAID。 這裏是我做的電話:貝寶快速結帳 - 沒有獲得計費協議ID

STEP 1:setExpresschecout電話:


Request 
    Endpoint URL: https://api-3t.sandbox.paypal.com/nvp 
    HTTP method: POST 
------------------------------------------------------------ 
POST data: 
USER=insert_merchant_user_name_here 
&PWD=insert_merchant_password_here 
&SIGNATURE=insert_merchant_signature_value_here 
&METHOD=SetExpressCheckout 
&VERSION=93 
&PAYMENTACTION=SALE  # type of payment 
&AMT=19.95    # amount of transaction 
&CURRENCYCODE=USD  # currency of transaction 
&RETURNURL=<return_url> # URL of your payment confirmation page 
&CANCELURL= <cancel_url> # URL redirect if customer cancels payment 
&L_BILLINGTYPE0=MerchantInitiatedBilling 

------------------- 
Response 
---------------------- 
token=EC-7NH28597U8423791A 
----------------------- 

它reirecting我貝寶登錄,點擊後「同意並支付」按鈕,重定向我回到我的網站與令牌和payerID。由於我不需要存儲客戶詳細信息,因此我將跳過GetExpresschecout調用,並直接使用令牌和PayedID調用doExpressCheckoutPayment。

STEP2:doExpresschecoutpayment

USER=insert_merchant_user_name_here 
&PWD=insert_merchant_password_here 
&SIGNATURE=insert_merchant_signature_value_here 
&METHOD=DoExpressCheckoutPayment 
&VERSION=93 
&PAYMENTACTION=SALE  # type of payment 
&AMT=19.95    # amount of transaction 
&CURRENCYCODE=USD  # currency of transaction 
&TOKEN=token_value 
&PAYERID=payer_id_received 

這裏是響應。但它沒有BILLING協議ID。

{"map":{"PAYMENTINFO_0_REASONCODE":"None","PAYMENTINFO_0_TAXAMT":"0.00","PAYMENTINFO_0_SECUREMERCHANTACCOUNTID":"KLQ6JKXB6DPZ6","TRANSACTIONID":"96C270379E2177052","PAYMENTINFO_0_TRANSACTIONTYPE":"expresscheckout","AMT":"11.20","PAYMENTINFO_0_FEEAMT":"0.62","CORRELATIONID":"fa14c423b7813","SUCCESSPAGEREDIRECTREQUESTED":"false","TAXAMT":"0.00","PAYMENTINFO_0_CURRENCYCODE":"USD","PAYMENTINFO_0_TRANSACTIONID":"96C270379E2177052","PENDINGREASON":"None","PAYMENTINFO_0_PAYMENTTYPE":"instant","VERSION":"98.0","PAYMENTINFO_0_PENDINGREASON":"None","FEEAMT":"0.62","ACK":"Success","TRANSACTIONTYPE":"expresscheckout","TOKEN":"EC-7NH28597U8423791A","PAYMENTINFO_0_ERRORCODE":"0","BUILD":"5956203","PAYMENTINFO_0_ORDERTIME":"2013-05-12T12:55:48Z","PAYMENTINFO_0_PROTECTIONELIGIBILITY":"Eligible","INSURANCEOPTIONSELECTED":"false","ORDERTIME":"2013-05-12T12:55:48Z","PAYMENTSTATUS":"Completed","PAYMENTINFO_0_AMT":"11.20","PAYMENTINFO_0_PAYMENTSTATUS":"Completed","REASONCODE":"None","PAYMENTTYPE":"instant","PAYMENTINFO_0_ACK":"Success","PAYMENTINFO_0_PROTECTIONELIGIBILITYTYPE":"ItemNotReceivedEligible,UnauthorizedPaymentEligible","SHIPPINGOPTIONISDEFAULT":"false","TIMESTAMP":"2013-05-12T12:55:48Z","PROTECTIONELIGIBILITY":"Eligible","CURRENCYCODE":"USD"}} 

FYI..paymentaction設置爲SALE,因爲我需要捕獲付款。

有什麼錯誤的建議?

感謝, Punya

回答

1

您將需要使用「GetExpressCheckout」,看看他們是否接受了計費同意或不同意。

您還需要聯繫PayPal,並特別要求爲您的商家帳戶啓用結算協議和後續引用事務。

2

您需要運行CreateBillingAgreement API才能獲得BAID。 這應該在您從SetExpressCheckout API獲得EC令牌後完成。

P.S參考交易應在您的賬戶上啓用。