贝宝沙箱响应中未返回收据编号

Receipt number not returning in paypal sandbox response

我正在使用贝宝沙盒。在客户付款后的项目中,我必须将正式收据编号存储到数据库中。所以我创建了一个 servlet 作为我的 return URL,我想根据事务 ID 检索 OR 编号。我使用的是带有立即购买按钮的标准付款方式。这是我获取交易详情的代码。

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 - 收据识别号

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

RECEIVERBUSINESS=morbidcode666@gmail.com
RECEIVEREMAIL=morbidcode666@gmail.com
接收器 ID=P687QZN7HUBGE
EMAIL=pyroclastic33@gmail.com
PAYERID=PA88PWZ8HKGDN
PAYERSTATUS=已验证
国家代码=美国
BUSINESS=Morbid Code 的测试商店
SHIPTONAME=Morbid Code 的测试商店
SHIPTOSTREET=1 主街
SHIPTOCITY=圣何塞
SHIPTOSTATE=CA
SHIPTOCOUNTRYCODE=美国
SHIPTOCOUNTRYNAME=美国
SHIPTOZIP=95131
地址所有者=贝宝
地址状态=已确认
销售税=0.00
装运量=0.00
SHIPHANDLEAMOUNT=0.00
发货折扣=0.00
保险金额=0.00
时间戳=2015-09-27T08:33:14Z
CORRELATIONID=930df496bece1
ACK=成功
版本=124.0
构建=17750617
FIRSTNAME=病态
姓氏=代码
交易 ID=5WA70930EK241520G
交易类型=网络接受
PAYMENTTYPE=即时
ORDERTIME=2015-09-27T08:32:59Z
AMT=10.00
FEEAMT=0.59
TAXAMT=0.00
货币代码=美元
PAYMENTSTATUS=已完成
PENDINGREASON=None
原因代码=None
送货方式=默认
保护资格=合格
PROTECTIONELIGIBILITYTYPE=ItemNotReceivedEligible%2cUnauthorizedPaymentEligible
L_QTY0=1
L_TAXAMT0=0.00
L_CURRENCYCODE0=美元
L_TAXABLE0=假

我对 paypal 和这种交易方式非常陌生。我该怎么办?

仅当有人通过 PayPal 结帐页面上的第二个选项(使用信用卡或借记卡付款)付款时,才会返回变量 "RECEIPTID"。

否 "RECEIPTID" 如果有人通过 PayPal 帐户付款。