0

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

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

不幸的是,托管使用 php 5.2.17,这意味着我不能使用 github 上的 PHP API 代码,所以我不得不使用 PHP 自己开发。这不是问题,我以前做过很多次类似的事情。我已经设法让沙箱按以下方式工作

  • 用户发起购买
  • 我的网站使用以下 json 编码数组调用https://svcs.sandbox.paypal.com/AdaptivePayments/Pay :

    $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 会将我返回到我的退货网址
  • 然后我显示下载链接

但是,当我查看沙箱时,我看到最新的付款正在审核中(显然,根据澳大利亚法律,我的沙箱余额 10,000 已将我标记为潜在的恐怖分子。去图)所以这让我认为也许我需要制作一个 IPN ,即使上面列出的开发人员文档没有提及它。我要做的最后一件事是启用付款被拒绝的下载。

所以我想我的问题是:paypal 调用我的返回 URL 是否足以允许下载数字商品,还是我应该设置一个 IPN 并等待 paypal 在授权下载之前点击它?

4

1 回答 1

-1

贝宝是一个 PITA并且没有关于它的争论。

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

于 2013-07-04T07:13:31.543 回答