2015-09-27 85 views
0

我正在使用贝宝沙箱。在客户付款后的我的项目中,我必须将正式收据编号存储到数据库中。所以我创建了一个作为我的返回URL的servlet,我想根据事务ID检索OR数。我使用buynow按钮使用标准付款方式。这是我获取交易细节的代码。贝宝沙箱响应中未返回的收据编号

HttpClient client = HttpClients.createDefault(); 
HttpPost post = new HttpPost("https://api-3t.sandbox.paypal.com/nvp"); 
List<NameValuePair> params = new ArrayList<>(); 
params.add(new BasicNameValuePair("METHOD","GetTransactionDetails")); 
params.add(new BasicNameValuePair("VERSION","124.0")); 
params.add(new BasicNameValuePair("USER", "morbidcode666_api1.gmail.com")); 
params.add(new BasicNameValuePair("PWD","L66QPRP2RTRB9NEA")); 
params.add(new BasicNameValuePair("SIGNATURE", "AUT-r5lylj2D9Bdu1rj5Xzp05w8eAMod08fTK-pwniTNTHScwi4w9jdh")); 
params.add(new BasicNameValuePair("TRANSACTIONID",request.getParameter("tx"))); 
post.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); 
HttpResponse postresponse = client.execute(post); 
HttpEntity entity = postresponse.getEntity(); 
System.out.println(EntityUtils.toString(entity)); 

https://developer.paypal.com/docs/classic/api/merchant/GetTransactionDetails_API_Operation_NVP/

RECEIPTID - 收据的识别号

,所以我想这应该是正是我要找的,但它不是在响应中。这是回应。

[email protected]
[email protected]
RECEIVERID = P687QZN7HUBGE
[email protected]
PAYERID = PA88PWZ8HKGDN
PAYERSTATUS =验证
COUNTRYCODE = US
BUSINESS =病态代码的测试商店
SHIPTONAME =病态代码的测试商店
SHIPTOSTREET = 1 MAIN ST
SHIPTOCITY =圣何塞
SHIPTOSTATE = CA
SHIPTOCOUNTRYCODE = US
SHIPTOCOUNTRYNAME =美国
SHIPTOZIP = 95131
ADDRESSOWNER =贝宝
ADDRESSSTATUS =确认
销售税= 0.00
SHIPAMOUNT = 0.00
SHIPHANDLEAMOUNT = 0.00
SHIPDISCOUNT = 0.00
INSURANCEAMOUNT = 0.00
TIMESTAMP = 2015-09-27T08:33:14Z
CORRELATIONID = 930df496bece1
ACK =成功
VERSION = 124.0
BUILD = 17750617
FIRSTNAME =病态
LASTNAME =代码
TRANSACTIONID = 5WA70930EK241520G
TRANSACTIONTYPE = webaccept
PAYMENTTYPE =即时
ORDERTIME = 2015-09-27T08: 32:59Z
AMT = 10.00
FEEAMT = 0.59
TAXAMT = 0.00
CURRENCYCODE = USD
PAYMENTSTATUS =完成
PENDINGREASON =无
REASONCODE =无
SHIPPINGMETHOD =默认
PROTECTIONELIGIBILITY =合格
PROTECTIONELIGIBILITYTYPE = ItemNotReceivedEligible%2cUnauthorizedPaymentEligible
L_QTY0 = 1
L_TAXAMT0 = 0。00
L_CURRENCYCODE0 = USD
L_TAXABLE0 =假

我非常新的PayPal和本次交易的东西。我该怎么办?

回答

1

变量“RECEIPTID”仅在PayPal结账页面通过第二个选项(使用信用卡或借记卡支付)支付时才会返回。

如果有人通过PayPal账户支付,没有“RECEIPTID”。