我认为这不是代码问题,因为我的应用程序可以使用我的账户货币(美元/php/港币)成功支付和处理付款。
由于有新的要求支持一些货币(新元,欧元,日元等),我添加了这些货币Account Settings > Money, banks, and cards
。
顺便说一下,我在春季使用paypal订单和支付版本2。
应用程序能够传递交易的货币和价值(就像我通常对美元/欧元/PHP所做的那样)。它能够创建订单对象,授权批准付款…但如果捕获授权付款总是卡在PENDING
我仍然需要检查我的测试paypal帐户和Accept/Reject
收到付款。
但是,我的应用程序只检查COMPLETED
捕获状态,以便考虑或将其标记为成功付款。
我也在我的测试paypal帐户(Account Settings > Payment Preferences > Block Payments
)上尝试了配置。
尝试选择Yes, accept and convert them to...
和Ask me whether to accept or deny each individual payment
,但捕获状态仍然是PENDING
。
是否有一种方法可以继续捕获付款并将状态设置为COMPLETED
?即使是用不同的货币支付?如果收到的付款将以该货币存储或将其转换为我的默认货币(如美元等),则可以。
我想要的是捕获状态继续到COMPLETED
,而不手动接受/拒绝其他货币(新添加的货币)的支付。
再一次,我认为这不是一个编码问题…更多的是配置问题…但我不确定哪种配置和在哪里设置。我是paypal开发的新手。
顺便说一下,我基于我的paypal账户的变化与这个链接:付款接收偏好
TIA
这是标准的PayPal行为。如果您以一种新货币的方式接受第一笔付款,并以这种货币打开余额,则不需要手动接受未来的付款。您也可以在资金管理部分手动打开$0余额,https://www.paypal.com/businessmanage/account/money
您在Account Settings > Payment Preferences > Block Payments
中提到的将非余额货币交易转换为您的主要余额的设置将仅自动应用于未来的付款。由于任何货币问题,它们的状态不应该是"PENDING"。
(如果您发现所有付款都是PENDING,即使是您的主要余额,那么PENDING的原因(如API响应中所述)很可能是"授权";这意味着您创建了一个意图为"授权"的授权,但尚未捕获它。将intent:CAPTURE改为立即捕获。)