我建立了一个产品生成和显示插件WordPress的CMS,现在我试图整合某种形式的贝宝集成结账过程。
我有车,产品,航运,总计所有想通了我的结束,我希望有人能指出我将这些信息发送给贝宝的最简单的方向。 我明白这样做的一些方法都不是安全的和其他人让你通过像某种表演的狗跳火圈。 我一直在努力学习如何使用卷曲,然后如何得到它与PHP的工作 - 它真的好像有点乱。 现在我有卷曲身体WAMP的服务器上的工作...但..
有没有更好的办法,或者我应该继续学习卷曲?
我可以格式化数据。但是它需要送过给PayPal并不会介意用JavaScript这样做 - 这不是付费墙,每一个订单是由人检查的准确性 - 所以有人用客户端搞乱脚本不会打扰我。 我也一定要送他们到贝宝,我想没有存储/处理自己的信用卡信息的一部分。 它将,然而,是不错的IPN。 有人能指出我朝着正确的方向或向我保证,我已经很为首的呀?
非常感谢。
这就是我自动重定向到PayPal的所有形式的详情;
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="cbt" value="Return to example" />
<input type="hidden" name="business" value="email" />
<input type="hidden" name="item_name" value="example Purchase" />
<input type="hidden" name="amount" value="9.99">
<input type="hidden" name="button_subtype" value="services" />
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="URL" />
<input type="hidden" name="notify_url" value="URL"/>
<input type="hidden" name="cancel_return" value="URL" />
<input type="hidden" name="currency_code" value="USD"/>
<input type="hidden" name="image_url" value="" />
<input type="hidden" id="custom" name="custom" value="invoice_id to track"/>
<input type="hidden" class="btn btn-primary" style="width:100%" alt="PayPal - The safer, easier way to pay online!"/>
</form>
对于多个产品,你可以简单地添加更多的产品形式,例如;
<input type="hidden" name="item_name_1" value="Item #1">
<input type="hidden" name="amount_1" value="1.00">
<input type="hidden" name="item_name_2" value="Item #2">
<input type="hidden" name="amount_2" value="2.00">
但是,使用这种方法是不是所有的伟大
所有的数据都需要用PHP和输入到页面生成,您还需要在IPN回调,以确保其支付给检查事务。
<script type="text/javascript">
function myfunc () {
var frm = document.getElementById("paypal");
frm.submit();
}
window.onload = myfunc;
</script>
您可能需要使用新的PayPal SDK。 他们拥有一套良好的代码示例,包括快速结账和IPN代码。 在这里尝试https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index获取快速结帐的SDK。 在这个时候,他们应该是在SDK 98 PHP。
你将不必担心卷曲,该SDK需要照顾所有的给你。 一个典型的呼叫可能是这样的。
$setECResponse = $paypalService->SetExpressCheckout($setECReq);
这行代码的样本之后被建模。 这是所有面向对象。 他们提供了类。 在这种情况下,有你填写申请对象,这些例子表明究竟是如何做到这一点; 只是使用的样品作为模板。
这听起来像你想要做的PayPal快速结帐,这样你就不必办理信用卡之类的东西。 用户被重定向到PayPal网站和所有的金融交易发生在那里。 用户被重定向到你的网站。 然后,你有一个页面,用户可以查看订单,然后点击,如果他们同意提交。 当用户点击提交,你叫一个PayPal API告诉贝宝,该交易被批准。 贝宝则执行交易,您返回一个确认与交易ID。 然后,您可以拨打getTransactionDetails并显示确认给客户。 你还可以把这些交易细节到数据库中。
以下是你可以调用这个API的。 这些都是仿照他们提供的示例代码
$paypalService->SetExpressCheckout($setECReq);
控制进入贝宝URL,用户经过了几页出现。 控制返回到您。
您的订单评审页面$ paypalService-> GetExpressCheckoutDetails($ getExpressCheckoutReq);
您的订单确认页面
$paypalService->GetExpressCheckoutDetails($getECReq);
$paypalService->DoExpressCheckoutPayment($DoECReq);
告诉贝宝做交易。
$paypalService->GetTransactionDetails($request);
在这里,你可以把交易信息到数据库中。 您也可以给自己发送邮件的所有细节,这样只要交易发生,你就知道了。
IPN可有点棘手。 还有的是,他们提供的样品IPN监听器,这将有助于。 您将需要设置你的听众URL PayPal网站上。 您还需要建立一个SSL证书。
该软件开发工具包是相当新的,但贝宝正在做的事情一个更新的方式,developer.paypal.com。 它只是在过去一个月左右的时间内走了出来。 你可能要考虑这一点。