沐浴阳光的SK猫

享受黑夜,期盼黎明

« 5月17-18日·阳朔2日游MX460 »

Paypal支付 - ExpressCheckout接口文档


最近公司有个网站需要用到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
 


  • quote 2.求教
  • 兄弟,我最近要做个express checkout的付款方式,但是很不幸我不会,看了两天都没有头绪.有幸搜到你的文章的了.可是我soap不会用.方便把你的源程序发来给我看看,学习一下么?
    先谢过了. 我的邮箱 59160904@qq.com
    C.A.T. 于 2008-9-6 12:26:59 回复
    不知你用什么语言,你网上搜一下吧,很多的,SOAP是说白了就是用http传送xml数据
  • 2008-9-5 11:59:37 回复该留言
  • quote 1.zpap
  • 老大啊 帮帮我啊. 现在我老板叫我帮他写一个paypal 的接口啊

    看了 你的文章让我明白了 许多 但是还是有很多不明白的.
    希望给我个例子可以吗 感激不尽啊
    先 谢过了

    我的邮箱是 :zpap@163.com
    C.A.T. 于 2008-6-20 18:17:50 回复
    已发
  • 2008-6-20 17:14:53 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

最新评论及回复

BBS | About | GuestBook | SiteMap | RSS | Login
Copyright 2005-2008 21ido.com. All Rights Reserved.
Powered by Z-Blog 1.8 Spirit Build 80722 | Skin by coolmud
粤ICP备05022506号