我正在为一个客户建立一个网站,该客户希望网站上的用户能够出售电子书,网站成员和非成员都可以购买。该网站本身根本不参与交易。
我已经采用了自适应支付,因为这似乎有助于两个用户之间的“点对点”交易,其中不涉及网站并且不收取任何费用或任何付款。我正在使用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 在授权下载之前点击它?