最近公司有个网站需要用到paypal支付接口,看了下支付方式,ExpressCheckout比较符合需求,于是写了这文档
创建时间:5/5/2008 2:47 PM
最后修改:5/5/2008 4:09 PM
一、支付流程
二、SOAP运作方式
1.SetExpressCheckoutRequest
Request内容
1 |
|
参数介绍:
- Head里面的Username、Password、Signature为API验证信息,需在paypal获取,下同
- OrderTotal:currencyID="USD"表示美元,其它货币单位参照paypal文档(PP_APIReference.pdf),数值必须带2位小数
- OrderDescription:商品描述,可选
- ReturnURL:返回地址,购买者填写帐号信息确认后会返回该地址
- CancelURL:当购买者取消订单后返回的地址
OrderTotal在第三步要用到,需传递或保存Session
Response内容
1 |
|
当Ack值为Seccess时为请求成功,下同
取回 Token ,并重定向到paypal,例如https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-4F193608SG720004S
2.GetExpressCheckoutDetailsRequest
用户在paypal填写完帐户信息后,点continue 后将跳转回之前设置的ReturnUrl地址,并带上参数,例如http://www.21ido.com/paypal/return.asp?token=EC-4F193608SG720004S&PayerID=WS8QWH5MLUK6C
当ReturnUrl地址本身已带参数时,如 return.asp?id=212121
,跳转地址将为return.asp?id=212121&token=EC-4F193608SG720004S&PayerID=WS8QWH5MLUK6C
此时需调用GetExpressCheckoutDetailsRequest方法取回用户填写的信息,例如帐号、地址
Request内容
1 |
|
其中Token 为paypal传回的数值,传回的PayerID此步无作用,但下一步确认支付时需要提交给paypal,可用参数方式或session方式传递给下一步
Response内容
1 |
|
购买者信息,参数具体介绍参照SOAP文档(PP_APIReference.pdf)
3.DoExpressCheckoutPaymentRequest
确认支付,这一步返回Completed的话表示钱已经打到商家帐户
Request内容
1 |
|
Token、PayerID、PaymentAction、OrderTotal等各参数均为之前提交或获取到的
Response内容
1 |
|
参数介绍:
- TransactionIDpaypal流水号
- GrossAmount收取金额
- FeeAmount手续费,从商家扣除
- PaymentStatus支付状态
- 其它参数请参考SOAP文档
三、附录
1.各接口地址
- Environment Authentication Calling Endpoint Live API Certificate Name-Value Pair https://api.paypal.com/nvp
- Live API Signature Name-Value Pair https://api-3t.paypal.com/nvp
- Live API Certificate SOAP https://api.paypal.com/2.0/
- Live API Signature SOAP https://api-3t.paypal.com/2.0/
- Sandbox API Certificate Name-Value Pair https://api.sandbox.paypal.com/nvp
- Sandbox API Signature Name-Value Pair https://api-3t.sandbox.paypal.com/nvp
- Sandbox API Certificate SOAP https://api.sandbox.paypal.com/2.0/
- Sandbox API Signature SOAP https://api-3t.sandbox.paypal.com/2.0
Paypal重定向地址
- Live
https://www.Paypal.com/cgi-bin/webscr?cmd=_express-checkout&token= - SandBox
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=value
2.网址
- 开发者中心 https://developer.paypal.com/
- 各种源码下载 https://www.paypal.com/IntegrationCenter/ic_downloads.html
- API Error https://www.paypal.com/IntegrationCenter/ic_api-errors.html
3.测试帐号
- Developer主帐号
https://developer.paypal.com/ - Seller
- Buye
- API验证信息