您可能想要使用新的PayPal SDK。他们有一套很好的示例代码, 包括快速结账和IPN代码。 尝试这里 https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index 获取快速结帐的SDK。在这个 时间,他们应该在PHP 98的SDK。
您将不必担心卷曲, 的SDK需要照顾所有的给你。 典型的呼叫可能是这样的。
$setECResponse = $paypalService->SetExpressCheckout($setECReq);
这行代码是在样本之后建模的。它是所有面向对象的 。他们为您提供课程。 在这种情况下,您需要填写一个请求对象, 示例显示了如何执行该操作;只需使用 样本作为您的模板。
这听起来像你想做PayPal快速结账, 这样你就不必处理信用卡或任何 那样。用户被重定向到PayPal网站 ,并且所有金融交易都发生在那里。 用户被重定向回您的网站。然后你有一个 页面,用户可以查看订单,如果他们批准,点击 提交。当用户点击提交, 您调用贝宝API告诉贝宝,交易 被批准。 PayPal然后执行交易,并且 发回您带有交易ID的确认。 然后,您可以调用getTransactionDetails并向客户显示 确认。您还可以将这些交易细节 放入数据库中。
以下是您可以为此调用的API。这些 是仿照示例代码,它们提供
$paypalService->SetExpressCheckout($setECReq);
控制进入贝宝URL,并且用户 通过几页出现。控制权返回给你。
您的订单评论页 $ paypalService-> GetExpressCheckoutDetails($ getExpressCheckoutReq);
订单确认页面
$paypalService->GetExpressCheckoutDetails($getECReq);
$paypalService->DoExpressCheckoutPayment($DoECReq);
告诉贝宝做交易。
$paypalService->GetTransactionDetails($request);
在这里,你可以把交易信息到数据库中。 你也可以给自己发一封包含所有细节的邮件, 这样你就可以知道每次交易发生的时间。
IPN可能有点棘手。他们提供了一个示例IPN监听器 ,这将有所帮助。您需要在PayPal网站上设置您的监听器网址 。您将需要 设置SSL证书。
SDKs相当新颖,但PayPal正在开发更新的方式,即开发者版.paypal.com。它在上个月左右刚出来 。你可能也想看看。
感谢您的快速回复。这是否适用于整个购物车的产品,或者一次只能购买一个产品?你能否提供有关你如何处理IPN的信息? – Jon 2013-03-25 23:47:58
编辑显示多个产品的使用。 – 2013-03-25 23:51:24
再次感谢,生成此表单所需的HTML以发送给PayPal应该不是问题。它看起来像是唯一缺失的拼图将会找出并处理IPN。 – Jon 2013-03-26 00:03:50