2位用户之间的数字商品嵌入式自适应付款 - 对IPN的需求感到困惑

时间:2013-07-04 06:54:13

标签: php paypal paypal-adaptive-payments

我正在为一个客户建立一个网站,该网站希望让网站上的用户能够出售电子书,网站会员和非会员都可以购买。该网站本身根本不参与交易。

我已经使用自适应支付,因为这似乎有助于两个用户之间的“点对点”交易,其中网站不涉及并且不会削减或支付任何费用。我正在使用https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/integration-guide/APIntro/

中的指南

不幸的是主机使用php 5.2.17,这意味着我无法在github上使用PHP API代码,所以我不得不使用PHP自己动手。这不是问题,我以前做过很多次。我设法让沙盒以下列方式工作

  • 用户启动购买
  • 我的网站拨打https://svcs.sandbox.paypal.com/AdaptivePayments/Pay电话 使用以下json编码数组:

    $payload = array(
    'actionType' => 'PAY',
    'currencyCode' => $currencyCode,
    'receiverList' => array(
        'receiver' => array(
            array(
                'amount' => $amount,
                'email' => $receiverEmail,
                'paymentType' =>  "DIGITALGOODS"
            )
        )
    ),
    'returnUrl' =>$successUrl,
    'cancelUrl' => $cancelUrl,
    'requestEnvelope' => array(
        'errorLanguage' => 'en_US',
        'detailLevel' => 'ReturnAll'
    )                   
    );
    
  • 这给了我一个付费ID

  • 我然后加入提交https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay
  • 的表格
  • 当用户点击“立即付款”时,会弹出paypal灯箱
  • 如果付款完成,paypal会将我退回给我的返回网址
  • 然后显示下载链接

然而当我查看沙盒时,我看到最近的付款正在审核中(显然我的沙箱余额为10,000,这标志着我是澳大利亚法律规定的潜在恐怖分子。如图所示)我想也许我需要制作一个IPN,即使上面列出的开发者文档没有提到它。我想做的最后一件事是启用付款被拒绝的下载。

所以我想我的问题是: 事实上,paypal称我的返回URL足以允许下载数字商品,或者我应该设置IPN并在授权下载之前等待PayPal点击它?

1 个答案:

答案 0 :(得分:-1)

PayPal是PITA 并且没有任何争论。

回到您的问题。您应该在调用返回网址时验证付款是否通过。它应该向您发送令牌/交易,您可以查询并检查其付款状态。没有那么多地使用自适应付款,但在授予访问权限之前,您应始终确保付款已完成。