我有一个发送付款的简单应用程序。该应用程序在沙盒中运行良好。实时经典应用程序 ID 已获批准(显示为“自动批准”),但当我输入我的实时凭据时,它会返回错误“您无权隐式执行此付款”
将 XML 发送到端点 https://svcs.paypal.com/AdaptivePayments/Pay
:
我使用我的实时 API key 和实时帐户凭据发送它:
- applicationId = 我的上线应用 ID(已批准)
- X-PAYPAL-SECURITY-USERID = 我的实时 API 用户 ID (blah_api1.mysite.com)
- X-PAYPAL-SECURITY-PASSWORD = 我的实时 API 密码
- X-PAYPAL-SECURITY-SIGNATURE = 我的实时 API 签名
- X-PAYPAL-SERVICE-VERSION = 1.1.0
- X-PAYPAL-APPLICATION-ID = 实时应用 ID(例如 APP-5F976659LV9322736)
- X-PAYPAL-REQUEST-DATA-FORMAT = XML
- X-PAYPAL-RESPONSE-DATA-FORMAT = XML
发送负载:
<?xml version="1.0" encoding="UTF-8"?>
<PayRequest xmlns:ns2="http://svcs.paypal.com/types/ap">
<requestEnvelope>
<errorLanguage>en_US</errorLanguage>
<detailLevel>ReturnAll</detailLevel>
</requestEnvelope>
<clientDetails>
<applicationId>APP-5F976659LV9322736</applicationId>
<partnerName>MyName</partnerName>
</clientDetails>
<actionType>PAY</actionType>
<cancelUrl>https://mysite.com</cancelUrl>
<returnUrl>https://mysite.com</returnUrl>
<currencyCode>USD</currencyCode>
<feesPayer>EACHRECEIVER</feesPayer>
<memo>blah blah</memo>
<receiverList>
<receiver>
<amount>6.66</amount>
<email>personimpaying@gmail.com</email>
</receiver>
</receiverList>
<senderEmail>me@gmail.com</senderEmail>
<trackingId>f166b253-063e-4e24-9fd0-519ccddfffeb</trackingId>
</PayRequest>
回复:
<?xml version='1.0' encoding='UTF-8'?>
<ns3:FaultMessage xmlns:ns3="http://svcs.paypal.com/types/common" xmlns:ns2="http://svcs.paypal.com/types/ap">
<responseEnvelope>
<timestamp>2014-01-13T20:49:46.191-08:00</timestamp>
<ack>Failure</ack>
<correlationId>5924cfcacbf00</correlationId>
<build>7935900</build>
</responseEnvelope>
<error><errorId>550001</errorId>
<domain>PLATFORM</domain>
<subdomain>Application</subdomain>
<severity>Error</severity>
<category>Application</category>
<message>You do not have permission to execute this payment implicitly</message>
</error>
</ns3:FaultMessage>
我在“senderEmail”字段中尝试了我的两个注册电子邮件 - 都有同样的问题。
我见过一些人反对这个问题,但没有解决方案。有人有什么建议吗?
编辑 - 我也尝试过显式付款,但是当我尝试对付款执行 ExecutePayment 时,出现以下错误:
<?xml version='1.0' encoding='UTF-8'?>
<ns3:FaultMessage xmlns:ns3="http://svcs.paypal.com/types/common" xmlns:ns2="http://svcs.paypal.com/types/ap">
<responseEnvelope>
<timestamp>2014-02-02T19:34:44.256-08:00</timestamp>
<ack>Failure</ack>
<correlationId>abcdefg</correlationId>
<build>7935900</build>
</responseEnvelope>
<error>
<errorId>550001</errorId>
<domain>PLATFORM</domain>
<subdomain>Application</subdomain>
<severity>Error</severity>
<category>Application</category>
<message>User is not allowed to perform this action</message>
</error>
</ns3:FaultMessage>
好的,我想我找到了答案。在 API 应用程序中,我勾选了“汇款”复选框,但我错过了另一个选项“隐式付款”。我将勾选新选项再试一次。
我是一名优秀的程序员,十分优秀!