php - PayPal Express 在沙盒模式下返回 4011 错误消息

标签 php soap payment-gateway paypal

我在我的 PHP 脚本(curl + SOAP)中以沙盒模式使用 PayPal express。 我有一个带有 1 个“购买”按钮的简单购买表格。 当它被点击时 我发送初始 SetExpressCheckout 请求并从 paypal 获得成功响应 Ack=success 和一个新的 token

<Ack xmlns="urn:ebay:apis:eBLBaseComponents">Success</Ack>
<Token xsi:type="ebl:ExpressCheckoutTokenType">EC-4GV76670YM092205U</Token></SetExpressCheckoutResponse>

接下来我尝试使用这个新 token 将脚本重定向到 PayPal:

  header("Location: https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=".$result[Token]."&address_override=1");

但结果是 PayPal 显示了一个带有错误消息的页面:

很抱歉,我们遇到了暂时的困难。请稍后再试。如果在付款时发生此错误,请在重新发送付款前检查您的账户概览,避免重复付款。 消息4011

是什么导致了这个错误?我使用的是普通 US/USD 沙盒帐户,唯一可能看起来可疑的是在 paypal 响应 xml 用户名和密码字段中为空。

最佳答案

此错误是由于在重定向到非沙盒 URL 时使用沙盒凭据引起的。 应该是 header("位置:https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=".$result[Token]."&address_override=1") ;

关于php - PayPal Express 在沙盒模式下返回 4011 错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2415640/

相关文章:

php - 不同格式的 OpenID

php - 从 Left Join 中的第一个表获取变量

php - SOAP 错误 : Parsing WSDL: Couldn't load from - but works on WAMP

php - 什么是 "Payload"?例如 XML 负载

java - 如何使用自签名证书(使用 Java keytool 创建)将 WS-Security 添加到 SOAP Web 服务?

paypal - 使用单个请求管理 PayPal 捐赠、添加到购物车和订阅

php - 我的成员(member)个人资料页面未显示结果?

php - 从对象中获取父对象

c# - Ingenico .net SDK 集成 - 进行任何 API 调用时出现未经授权和连接关闭异常

php - 在 WooCommerce 中禁用所有基于用户国家/地区 geo-ip 的付款方式