Php Paypal IPN始终返回”;付款状态:待定;在沙箱上?

Php Paypal IPN始终返回”;付款状态:待定;在沙箱上?,php,paypal-ipn,paypal-sandbox,Php,Paypal Ipn,Paypal Sandbox,我正在尝试在我的网站上实现PayPal 我使用这个类: 现在我正在使用PayPal沙箱进行测试 问题是: 用户付款-确定 用户成功返回我的网站-确定 几秒钟后,PayPal使用IPN呼叫我的网站-ok 我的类成功验证了传入的IPN数据 PayPal返回“付款状态:待定” 我不知道为什么PayPal IPN以“待定”的付款状态回电话 有人知道我做错了什么吗?您可以按照以下说明解决问题 登录到开发者中心 单击左侧的测试帐户选项卡。您应该已经创建了这些用于在沙箱上测试的测试帐户 查找“付款审核”列 找

我正在尝试在我的网站上实现PayPal

我使用这个类:

现在我正在使用PayPal沙箱进行测试

问题是:

  • 用户付款-确定
  • 用户成功返回我的网站-确定
  • 几秒钟后,PayPal使用IPN呼叫我的网站-ok
  • 我的类成功验证了传入的IPN数据
  • PayPal返回“付款状态:待定”
  • 我不知道为什么PayPal IPN以“待定”的付款状态回电话


    有人知道我做错了什么吗?

    您可以按照以下说明解决问题

  • 登录到开发者中心

  • 单击左侧的测试帐户选项卡。您应该已经创建了这些用于在沙箱上测试的测试帐户

  • 查找“付款审核”列

  • 找到您正在使用的沙箱帐户,然后单击“付款审核”列中的“已启用”

  • 这应该改为“禁用”,现在由您的余额和信用卡支付的款项将立即完成


  • 我的问题是,我的沙箱商户账户是作为英国用户开立的(英镑作为货币)。当我试图用丹麦克朗(DKK)查看订单时,它会告诉我,在商家看来,该笔交易是“无人认领”的。一旦DKK中的一个订单被接受,并且我选择用DKK创建新货币,IPN就会向我发送所有“payment_status=completed”消息。

    当您登录到您的测试业务帐户时,手动导航到:

    您通常可以通过“我的业务设置”到达那里,但目前它会重定向到PayPal live(尽管在沙箱中)

    一旦进入该页面,将“以我不持有的货币向我发送的阻止付款”更改为“否,接受并将其转换为…”

    另外,不要忘记使用PayPal沙盒前端和API的“测试电子邮件”部分确认您的业务帐户。

    两个可能的原因:

    1。卖方帐户可以选择接受或拒绝付款

    在这种情况下,您需要以卖家身份登录并接受付款,您将获得另一个IPN,其付款状态=已完成

    步骤:

  • 登录到开发者中心
  • 按左侧的“测试帐户”
  • 选择卖方帐户并按底部的“进入沙箱测试站点”
  • 您应该看到卖方仪表板,其中包含接受或拒绝任何付款的选项(在此步骤中,您可能需要使用卖方测试帐户凭据重新登录)
  • 2。已启用付款审核

    解决方案:

  • 登录到开发者中心
  • 单击左侧的测试帐户选项卡。您应该已经创建了这些用于在沙箱上测试的测试帐户
  • 查找“付款审核”列
  • 找到您正在使用的沙箱帐户,然后单击“付款审核”列中的“已启用”
  • 这应该改为“禁用”,现在由您的余额和信用卡支付的款项将立即完成。

    类似的问题在这里-我的(沙箱)商户帐户是在美国创建的,我正在尝试欧元支付


    对我来说,我更改了哪些设置并不重要,它只在创建了一个新的德国商户帐户后才起作用。

    在处理了这个问题后,PayPal稍微更改了UI

    以下是贝宝商户技术支持的确切说明:

    感谢您联系商户技术支持

    请尝试按照以下说明关闭沙盒帐户的付款审核功能:

    • 登录到您的开发人员帐户
    • 单击应用程序
    • 单击沙箱帐户
    • 单击要关闭“付款审核”选项的电子邮件地址,并在其展开后单击“配置文件”
    • 单击设置
    • 然后选择“关闭”进行付款审核
    • 单击“关闭”
    确保您在您的贝宝沙箱商户帐户上执行此操作

    &这就是它看起来的样子:

  • 我确实允许在沙箱中的所有用户帐户中以我不持有的货币向我发送付款到
    Yes
    ,但它仍然不起作用

  • 我还尝试在paypal表单中创建相同的货币,并为沙箱用户帐户创建新货币主帐户。将货币转换成新货币。仍然没有成功

  • 然后我注意到Wes Hanney回答的最后一句话:“使用PayPal沙箱前端确认您的业务帐户”。也不管用

  • M.G.Palmer在他的回答中建议创建一个德国商人账户。也不管用


  • 真麻烦

    一个小时后,我差点把电脑扔出窗外,我才意识到我忘了一件事。将我在贝宝表单中的真实收件人电子邮件地址更改为沙箱商户电子邮件地址。这对我来说终于解决了



    PS:也许是一个愚蠢的初学者的错误?但对于遇到同样情况的其他人可能会有所帮助。

    解决方案是@Jadeye解释的:

    转到贝宝开发者网站

  • 登录到开发人员帐户(沙盒)
  • 单击应用程序
  • 单击沙箱帐户
  • 单击要关闭“付款审核”选项的电子邮件地址,并在其展开后单击“配置文件”
  • 单击设置
  • 然后选择“关闭”进行付款审核
  • 单击“关闭”

  • 您可能还需要检查一件事:

    确保您的PayPal帐户的语言编码设置为UTF-8。在某些情况下,此设置类似于