最近公司有个网站需要用到paypal支付接口,看了下支付方式,ExpressCheckout比较符合需求,于是写了这文档
作者:SK猫
创建时间:5/5/2008 2:47 PM
最后修改:5/5/2008 4:09 PM
一、 支付流程

二、 SOAP运作方式
1. SetExpressCheckoutRequest
Request内容
参数介绍:
- Head里面的Username、Password、Signature为API验证信息,需在paypal获取,下同
- OrderTotal:currencyID="USD"表示美元,其它货币单位参照paypal文档(PP_APIReference.pdf),数值必须带2位小数
- OrderDescription:商品描述,可选
- ReturnURL:返回地址,购买者填写帐号信息确认后会返回该地址
- CancelURL:当购买者取消订单后返回的地址
OrderTotal在第三步要用到,需传递或保存Session
Response内容
当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内容
其中Token 为paypal传回的数值,传回的PayerID此步无作用,但下一步确认支付时需要提交给paypal,可用参数方式或session方式传递给下一步
Response内容
购买者信息,参数具体介绍参照SOAP文档(PP_APIReference.pdf)
3. DoExpressCheckoutPaymentRequest
确认支付,这一步返回Completed的话表示钱已经打到商家帐户
Request内容
Token、PayerID、PaymentAction、OrderTotal等各参数均为之前提交或获取到的
Response内容
参数介绍:
- TransactionID paypal流水号
- 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/
Username gavin2026@hotmail.com
Password xxxxxx
Seller
Username gavin2_1207532001_biz@hotmail.com
Password xxxxxx
Buye
Username gavin2_1207532695_per@hotmail.com
Password xxxxxx
API验证信息
Username gavin2_1207532001_biz_api1.hotmail.com
Password xxxxxx
Signature xxxxxx