不可处理的实体
当您的收款请求因信息不正确或违反业务规则而无法完成时。以下问题可能会返回UNPROCESSABLE_ENTITY错误。
注意:如果问题仍然存在或您有其他问题,可以联系 paypal-techsupport.com。
DUPLICATE_INVOICE_ID 从付款 v1 或订单 v2 API 返回。
原因:
PayPal检测到重复的账单号。每笔交易都需要一个唯一的 invoice_id ,以防止重复交易。当同一订单号用于多笔交易时,通常会发生这种情况。
影响
:付款过程停止,您的客户无法完成购买。这可能会导致销售损失。
解决方法:
为每笔交易使用不同的账单号。如果您需要重复使用相同的账单号,请联系 PayPal 支持。请考虑设置即时付款通知(IPN)或Webhook,以获取有关交易的实时信息。
ORDER_ALREADY_AUTHORIZED 从 Payments v2 或 Orders v2 API 返回。
原因:
该订单已通过先前的请求获得授权。使用 intent=“AUTHORIZE” 创建订单时,只允许一次授权。第二次尝试将被拒绝。如果您不小心发送了两次相同的请求,或者错过了第一个请求成功,则可能会发生这种情况。
影响
:对原始授权没有影响。只有第二次尝试被拒绝。您不能现在授权部分金额,以后再授权剩余金额。
解决方法
:在一个请求中授权全部金额,然后根据需要创建多个获取。通过在捕获请求中设置 final_capture=“false” 来创建多个捕获。这对于拆分货件很有用。请考虑集成 PayPal Webhook ,以自动接收有关订单状态的更新。如果API调用耗时过长,请联系PayPal技术支持。
ORDER_ALREADY_CAPTURED 从 Orders v2 API返回。
原因:
PayPal订单已处于“捕获”状态,这意味着付款已完成且资金已转入您的账户。不能在此订单上创建新的捕获。如果您使用的 是 intent=“SALE” (每个订单只允许捕获一次),或者您的系统未记录第一次捕获尝试的成功并再次尝试,则会发生这种情况。
影响
如果您只获取了部分订单金额,则在创建新的PayPal订单之前,您无法获取剩余金额。如果您只打算获取一次资金,对您的客户没有影响,但您的系统可能与PayPal的记录不同步。
解决方法
如果需要多次捕获,请使用 intent=“AUTHORIZE” 而不是 intent=“SALE”。这将首先创建授权,然后允许多次捕获。请确保 在捕获授权付款API调用中将 final_capture 参数设置为 false,以允许其他捕获。对每次捕获使用唯一的 invoice_id。跟踪成功的 API 响应以避免重复调用。请考虑使用 PayPal网络挂钩 接收有关付款状态更改的自动更新。
ORDER_NOT_APPROVED 从 Payments v1 或 Orders v2 API 返回。
原因:
您的客户已开始执行但未完成PayPal结账流程,或者请求可能缺少必填付款信息。
影响
:付款被拒绝且未处理,导致购买延迟。
解决方法:
确保将客户重定向到您创建订单时提供的PayPal提供的“rel”:“approve”URL。然后,他们将进入PayPal结账流程以批准付款。请确保您的请求包含所有必需的付款信息。
SHIPPING_ADDRESS_INVALID 从 Payments v1 或 Orders v2 API 返回。
原因
您的客户可能遗漏了重要的地址字段,如街道地址、城市或州。地址格式可能不正确,或者您的系统可能无法正确发送请求中的完整地址。
影响
:付款被拒绝且未处理,导致购买延迟。
解决方法:
添加表单验证,以确保在提交之前正确填写所有必填地址字段。请考虑使用地址验证工具来确保地址格式正确。检查您的系统,确保所有地址信息都被正确捕获并包含在您的请求中。