paypal跨境支付流程(看完之后你也能开发自己的paypal移动支付)
paypal跨境支付流程(看完之后你也能开发自己的paypal移动支付)首先登录:->点击个人档案->即时付款通知习惯设定--你要设置的相关资料有:(这里再啰嗦下,如果登录老是找不到个人档案,你可以登录你开发者帐号试试,它们都是关联的。)2)对上述东西知道了之后,有了大致的了解,然后你需要去https://developer.paypal.com/developer/accounts/注册一个帐号在PAYPAL网站上,PAYPAL很友好的提供了SANDBOX方式,即:测试环境,这个专门给开发者测试用的,你注册了开发者帐号后,系统会自己给你开通2个测试帐号:一个是买家(xxx@youmail-buyer.com)一个是卖家帐号(xxx@youmail-facilitator.com),相应的注册流程,网上也很多帖子都说得很清楚,这里我就不在赘述了,自行百度。如果你想使用APP的方式的话,可以在这个地方注册好你的APP,点击PHP(我的APP名字),然
PAYPAL支付的提交和接收都分为2种方式!这是网上很多人的博客资料都没有比较细致说明的。当初我在上面掉了一个大坑,苦不堪言。(公司要求是使用邮箱收款的方式,我自己不清楚看了帖子使用了APP的方式,即:和淘宝的一样,使用appkey、apptoken的方式)申请这个比较麻烦,需要填写很多的资料,而且审批也需要周期很久,所以直接使用邮箱收款的方式。
何为邮箱收款方式,PAYPAL上面可以直接注册个帐号,这个帐号就可以用来收钱。任何人,只要你的帐号上有钱,或者使用信用卡都可以在上面打钱。其实,说了这么多废话,就是想大家不要绕到坑里,这2种方式无非就是使用PAYPAL的类库SDK,或者是PDT与IPN的方式去验证。好了,废话不多说直接开始:
IPN(POST方式)如下:
相信看了上述图都已经了解,无非就是GET的方式(即:用户支付完成后直接跳转回来到商户网站 通过get的方式获取到对应参数,商户再与PAYPAL进行验证)与POST的方式(即:异步,用户支付完成后没有跳转回商户网站 PAYPAL通过POST的方式给商户网站获取到对应参数,商户网站再与PAYPAL进行验证)
2)对上述东西知道了之后,有了大致的了解,然后你需要去https://developer.paypal.com/developer/accounts/注册一个帐号在PAYPAL网站上,PAYPAL很友好的提供了SANDBOX方式,即:测试环境,这个专门给开发者测试用的,你注册了开发者帐号后,系统会自己给你开通2个测试帐号:一个是买家(xxx@youmail-buyer.com)一个是卖家帐号(xxx@youmail-facilitator.com),相应的注册流程,网上也很多帖子都说得很清楚,这里我就不在赘述了,自行百度。
如果你想使用APP的方式的话,可以在这个地方注册好你的APP,点击PHP(我的APP名字),然后上面就会有CLIENT ID 和 SECRET了,SECRET你需要点击show这个按钮,别找了半天找不到。^_^
3)有了帐号之后,就需要登录测试环境https://www.sandbox.paypal.com卖家帐号去设置你的相关资料;记得,帐号是开发者帐号上面的!
--你要设置的相关资料有:(这里再啰嗦下,如果登录老是找不到个人档案,你可以登录你开发者帐号试试,它们都是关联的。)
首先登录:->点击个人档案->即时付款通知习惯设定
->点击个人档案->网站付款习惯设定
上述的操作完成之后,你就可以开工了,去官网DOWLOADS对应的SDK;不过官网的手册全是英文的,对应的文档也很乱,想要最新的源码,你需要去官网下载,之前我就是下载了过时的DEMO,现在是17年3月份,导致一直跟PAYPAL验证失败!
这个是我找到的中文手册:https://www.paypal-biz.com/development/documentation/PayPal_IPN&PDT_Guide_V1.0.pdf
但是不要直接用上面的源码,已经用不了的!
开发者文档:https://developer.paypal.com/docs/
最后这里在强调下,PAYPAL都是通过表单提交的方式生成的订单的,当然APP的方式不用,可以直接用类库帮你生成表单提交;这里我贴上我的DEMO,是自定义表单:
* 生成支付代码
* @param array $order 订单信息
* @param array $payment 支付方式信息
*/
function get_code($config)
{
//测试 https://www.sandbox.paypal.com/cgi-bin/webscr
$deal_url = '<br /><form style="text-align:center;" id="form1" name="form1" action="https://www.paypal.com/cgi-bin/webscr" method="post" class="paypal">' .
"<input type='hidden' name='cmd' value='_xclick'>" .//告诉paypal该表单是立即购买
"<input type='hidden' name='business' value=''>" .//卖家帐号 也就是收钱的帐号
"<input type='hidden' name='item_name' value=''>" .//商品名称 item_number
"<input type='hidden' name='item_number' value=''>" .//物品号 item_number
"<input type='hidden' name='amount' value=''>" .// 订单金额
"<input type='hidden' name='currency_code' value='USD'>" .// 货币
"<input type='hidden' name='return' value=''>" .// 支付成功后网页跳转地址
"<input type='hidden' name='notify_url' value=''>" .//支付成功后paypal后台发送订单通知地址
"<input type='hidden' name='cancel_return' value=''>" .//用户取消交易返回地址
"<input type='hidden' name='invoice' value=''>" .//自定义订单号
"<input type='hidden' name='charset' value='utf-8'>" .// 字符集
"<input type='hidden' name='no_shipping' value='1'>" .// 不要求客户提供收货地址
"<input type='hidden' name='no_note' value=''>" .// 付款说明
"<input type='hidden' name='rm' value='2'>" .
"</form><br />
<script type='text/javascript'>function load_submit(){document.form1.submit()}load_submit();</script>";
return $deal_url;
}
提交给PAYPAL会生成一个页面,上面有你刚刚填写对应的订单信息;而且它集成手机端自适应的方式,会自动调整好页面,我就不贴图了,可以自己去试试:
填写好你的资料,帐号或者用信用卡支付都可以,确认完成后会提示你支付成功,10秒钟会自动返回!APP的方式是立即返回的!
返回就会有对应的地址了:
http://xxx.com/index.php/pay/paypal_url/houtai/amt=1.00&cc=USD&item_name=C14896341493008718&item_number=C14896341493008718&st=Pending&tx=6R903017GR561561Y
这个就是你PDT返回的地址,即通过GET的方式获取到参数跟PAYPAL验证!