我正在構建電子商務網站(使用node.js),並使用經典的PayPal API。 我需要用戶輸入他們的電話號碼,以便我們可以在他們的訂單出現問題時與他們聯繫。SetExpressCheckout和GetExpressCheckoutDetails均缺少電話號碼
因此,我在網站設置下更改了我的教皇帳戶上的設置,以便在結帳時需要電話號碼。 撥打SetExpressCheckout
後,客戶輸入自己的信息,包括電話號碼,我會得到成功狀態的回覆以及其他訂單信息。
但是,電話號碼從響應中丟失。根據文檔,它假設在PHONENUM
字段中。我試圖撥打GetExpressCheckoutDetails
也爲了得到電話,但它仍然失蹤。
這裏的請求調用:
var post_data = {
USER: paypalUser,
PWD: paypalPassword,
SIGNATURE: paypalSignature,
METHOD: "SetExpressCheckout",
VERSION: 93,
SOLUTIONTYPE: "Sole",
L_PAYMENTREQUEST_0_NAME0 : info.name,
L_PAYMENTREQUEST_0_DESC0 : info.description,
L_PAYMENTREQUEST_0_AMT0 : info.price,
L_PAYMENTREQUEST_0_QTY0 : 1,
PAYMENTREQUEST_0_PAYMENTACTION: "SALE",
PAYMENTREQUEST_0_AMT: subtotal+shippingCost,
PAYMENTREQUEST_0_ITEMAMT: subtotal,
PAYMENTREQUEST_0_CURRENCYCODE: "ILS",
PAYMENTREQUEST_0_SHIPPINGAMT:shippingCost,
LOCALECODE:"he_IL",
RETURNURL: "http://localhost:3000" + successUrl,
CANCELURL: "http://localhost:3000" + cancelUrl,
LOGOIMG:"localhost:3000/images/logo.svg"
}
var post_data_encoded = querystring.encode(post_data);
var httpRequest = https.request(options,function(response){
response.on('data', function (chunk) {
var resData = querystring.parse(chunk.toString());
callback(resData);
});
});
,這是響應我得到:
{"TOKEN":"EC-1UV4673091640241G",
"BILLINGAGREEMENTACCEPTEDSTATUS":"0",
"CHECKOUTSTATUS":"PaymentActionNotInitiated",
"TIMESTAMP":"2015-02-09T21:27:23Z",
"CORRELATIONID":"c1d72f302ac78",
"ACK":"Success",
"VERSION":"93",
"BUILD":"15177679",
"EMAIL":"******@gmail.com",
"PAYERID":"YW4B5FG9HBEXU",
"PAYERSTATUS":"unverified",
"FIRSTNAME":"Dany",
"LASTNAME":"Shovevani",
"COUNTRYCODE":"US",
"SHIPTONAME":"Dany Shovevani",
"SHIPTOSTREET":"baba",
"SHIPTOCITY":"New York",
"SHIPTOSTATE":"NY",
"SHIPTOZIP":"10001",
"SHIPTOCOUNTRYCODE":"US",
"SHIPTOCOUNTRYNAME":"United States",
"ADDRESSSTATUS":"Confirmed",
"CURRENCYCODE":"ILS",
"AMT":"225.00",
"ITEMAMT":"200.00",
"SHIPPINGAMT":"25.00",
"HANDLINGAMT":"0.00",
"TAXAMT":"0.00",
"INSURANCEAMT":"0.00",
"SHIPDISCAMT":"0.00",
"L_NAME0":"חלוק",
"L_QTY0":"1",
"L_TAXAMT0":"0.00",
"L_AMT0":"200.00",
"L_DESC0":"חלוק רגיל גדול.",
"L_ITEMWEIGHTVALUE0":" 0.00000",
"L_ITEMLENGTHVALUE0":" 0.00000",
"L_ITEMWIDTHVALUE0":" 0.00000",
"L_ITEMHEIGHTVALUE0":" 0.00000",
"PAYMENTREQUEST_0_CURRENCYCODE":"ILS",
"PAYMENTREQUEST_0_AMT":"482.50",
"PAYMENTREQUEST_0_ITEMAMT":"457.50",
"PAYMENTREQUEST_0_SHIPPINGAMT":"25.00",
"PAYMENTREQUEST_0_HANDLINGAMT":"0.00",
"PAYMENTREQUEST_0_TAXAMT":"0.00",
"PAYMENTREQUEST_0_INSURANCEAMT":"0.00",
"PAYMENTREQUEST_0_SHIPDISCAMT":"0.00",
"PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED":"false",
"PAYMENTREQUEST_0_SHIPTONAME":"Dany Shovevani",
"PAYMENTREQUEST_0_SHIPTOSTREET":"baba",
"PAYMENTREQUEST_0_SHIPTOCITY":"New York",
"PAYMENTREQUEST_0_SHIPTOSTATE":"NY",
"PAYMENTREQUEST_0_SHIPTOZIP":"10001",
"PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE":"US",
"PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME":"United States",
"PAYMENTREQUEST_0_ADDRESSSTATUS":"Confirmed",
"L_PAYMENTREQUEST_0_NAME0":"חלוק",
"L_PAYMENTREQUEST_0_QTY0":"1",
"L_PAYMENTREQUEST_0_TAXAMT0":"0.00",
"L_PAYMENTREQUEST_0_AMT0":"200.00",
"L_PAYMENTREQUEST_0_DESC0":"חלוק רגיל גדול.",
"L_PAYMENTREQUEST_0_ITEMWEIGHTVALUE0":" 0.00000",
"L_PAYMENTREQUEST_0_ITEMLENGTHVALUE0":" 0.00000",
"L_PAYMENTREQUEST_0_ITEMWIDTHVALUE0":" 0.00000",
"L_PAYMENTREQUEST_0_ITEMHEIGHTVALUE0":" 0.00000",
"PAYMENTREQUESTINFO_0_ERRORCODE":"0"}
我缺少的東西還是有才能拿到電話號碼的附加步驟是什麼?
謝謝你,現在PHONENUM在響應中顯示出來。 – amramaz 2015-02-12 11:52:59