成功的 paypal api 调用未显示在沙箱中

Posted

技术标签:

【中文标题】成功的 paypal api 调用未显示在沙箱中【英文标题】:successful paypal api call is not showing up in the sandbox 【发布时间】:2012-07-30 10:20:36 【问题描述】:

您好,我有点困惑。我正在使用沙盒凭据进行贝宝 api 调用。返回 ACK 是:成功。当我转到付款人或企业沙盒帐户时,没有处理任何交易。我进行了调试,看起来我正在填充所有字段,而且我认为如果某些字段丢失,则会引发错误。这是我正在使用的代码。

.....

APIProfile apiProfile = ProfileFactory.createSignatureAPIProfile();
                    apiProfile.setAPIUsername(paypalAccount.getApiLogin());
                    apiProfile.setAPIPassword(paypalAccount.getApiPassword());
                    apiProfile.setSignature(paypalAccount.getApiSignature());
                    apiProfile.setEnvironment(paypalAccount.getApiEnvironment());

                    // caller
                    NVPCallerServices callerServices = new NVPCallerServices();
                    callerServices.setAPIProfile(apiProfile);

                    // encoder
                    NVPEncoder encoder = new NVPEncoder();
                    encoder.add(METHOD, METHOD_VALUE);
                    encoder.add(RETURNURL, paypalAccount.getReturnUrl());
                    encoder.add(CANCELURL, paypalAccount.getCancelUrl());
                    encoder.add(CURRENCYCODE, CURRENCYCODE_VALUE);
                    encoder.add(PAYMENTACTION, PAYMENTACTION_VALUE);
                    encoder.add(AMT, payment.getPaymentOrder().getPrice().toString());
                    encoder.add(L_NAME0, L_NAME0_VALUE);
                    encoder.add(L_AMT0, payment.getPaymentOrder().getPrice().toString());

                    // call
                    String NVPRequest = encoder.encode();
                    String NVPResponse = callerServices.call(NVPRequest);
                    NVPDecoder decoder = new NVPDecoder();
                    decoder.decode(NVPResponse);

                    String ack = decoder.get(ACK);
                    payment.setPaymentTransaction(decoder.get(TOKEN));

......

任何帮助都会很棒!

【问题讨论】:

【参考方案1】:

如果您使用快速结帐,则需要拨打 3 次电话:

SetExpressCheckout(使用令牌响应) GetExpressCheckout DoExpressCheckout

“DoExpressCheckout”通过后,您应该能够看到交易记录在您的沙盒买家和商家帐户中。

看看:https://www.x.com/devzone/excerpts/chapter-2-express-checkout

【讨论】:

以上是关于成功的 paypal api 调用未显示在沙箱中的主要内容,如果未能解决你的问题,请参考以下文章

未记录在仪表板(沙箱)中的 PayPal 成功交易

未调用 Rails 应用程序上的 Paypal IPN

未找到 PayPal 自适应支付的沙箱页面

未收到 Paypal 沙箱 IPN 消息

如何在 MPL Paypal 沙箱中检查交易?

PayPal Rest API for Payments 在沙箱中返回 NULL