PAYPAL --集成API接口教程

网站专业版收款

---------------

PayPal网站专业版收款(快速支付)可以让您的客户更快捷、更安全地完成付款。客户可以选择存放在PayPal账户中的配送地址等信息返回给您的网站,这样他们就不需要在您的网站上重复录入,大大节省购物时间;同时,该解决方案是基于API的,每次API调用都需要进行身份认证,所以更加安全。



在整个支付流程中,共需调用三个API接口,流程示意图如下:







实现Express Checkout 共分四步:

◆ 创建带有Express Checkout按钮的购物车页面

当您的客户挑选好商品并被引导到购物车页面时,您即可将Express Checkout按钮添加到购物车页面,如下图红框所示,您也可以将PayPal作为一个支付可选项与其他支付方式并排:





关于PayPal图标位置编排的说明请参考这里。









◆ 引导客户登录到PayPal授权付款

客户点击购物车页面上的Express Checkout按钮后,你必须调用第一个API函数:SetExpressCheckout。调用该函数时可以设置很多参数,但是以下三个参数是必须的:

-- OrderTotal:订单总价,此价格可以是一个订单的估计值;

-- ReturnURL:客户确认相关信息后返回到您网站继续完成付款动作的网址;

-- CancelURL:客户由于不能通过PayPal付款或者取消PayPal付款而返回到您网站的网址,建议设置为带有PayPal Express Checkout按钮的购物车页面或支付页面;该函数将返回一个参数token。此token用于跟踪整个付款过程,在此后两个API函数调用中都必须带上此token。获取token后,重定向客户的网页到PayPal网站,以便客户进行登录并选择付款方式和配送信息;

-- 重定向客户到:https://www.paypal.com/cgi-bin/w ... checkout&token= mytoken

-- 用您从PayPal中获取的token替换上面的mytoken ;



你的客户登录PayPal并选择一个配送地址及付款方式,如下图所示:









注:所有参数可以参考文档



参数参考文挡





◆获取**并确认订单



客户确认配送地址等信息以后,PayPal将引导他们回到您的网站,该返回的地址由函数SetExpressCheckout中所带的参数ReturnURL决定。此时,您即可以通过调用第二个API函数GetExpressCheckoutDetails获取客户的相关信息,并将其显示在订单确认页面上,如下图所示:









当PayPal将您的客户重定向回由ReturnURL指定的网址后,PayPal将在ReturnURL后面附加两个变量:token及PayerID(客户PayPal账户加密后的HASH码)。



• 若ReturnURL没有带参数,如: https://www.myshop.com/checkout

则返回的URL为:

https://www.myshop.com/checkout ?token= EC-0W8920957N684880R&PayerID=TEJ9UFMQHWZRF



• 若ReturnURL已经带有参数,如:https://www.myshop.com/checkout?cart_id=1234

则返回的URL为:

https://www.myshop.com/checkout?cart_id=1234 &token=EC-0W8920957N684880R

&PayerID=TEJ9UFMQHWZRF



当您接收到从PayPal到ReturnURL的POS后,提取出token的值,并将其作为第二个API函数GetExpressCheckoutDetails的参数,该函数的目的就是为了从PayPal处获取客户的相关信息,如配送信息等。该函数返回的内容主要包括:

• PayerID:加密后的客户的PayPal账号,这个值在调用第三个API函数DoExpressCheckoutPayment是必须的;

• Payer:客户的email地址;

• FirstName:客户的名;

• LastName:客户的姓;

• Address:客户的配送地址,该地址是在PayPal中选择或者新增的;

• AddressStatus:客户配送地址的标志。如果该值为Confirmed,则表明该配送地址是经过PayPal认证过的;



将您从PayPal处接收到的客户的姓名及配送信息显示给客户看,以便客户进行确认,在这里你也可以让用户选择配送方式或做一些相应的广告。







◆ 完成付款

客户对订单确认后,即可点击最后付款按钮完成付款动作。这个付款按钮实际上就是通过调用最后一个API函数DoExpressCheckoutPayment完成付款动作。在调用该函数后,PayPal将立即返回一个付款状态,您可以将付款细节及付款状态显示给客户看,如下图所示:







如果付款不成功,您也应该显示类似信息。







▲▲▲相关文档及开发包下载地址:▲▲▲

• Express Checkout Integration Guide(PDF ,HTML)

• Name-Value Pair API Developer Guide and Reference(PDF ,HTML)

• Sandbox User Guide (PDF ,HTML)

[本帖最后由 fancuihui 于 2009-3-13 12:25 编辑]

paypal接口文档android,PAYPAL --集成API接口教程相关推荐

  1. idea swagger生成接口文档_spring boot集成Swagger-UI接口文档

    本文介绍如何用spring boot集成Swagger-UI,实现项目在线接口文档 一.Swagger-UI简介 Swagger是一个Restful风格接口的文档在线自动生成和测试的框架 官网对Swa ...

  2. 极光推送服务器端文档,Android SDK 集成指南

    极光统计 Android SDK 集成指南 使用提示 本文是JAnalytics Android SDK 标准的集成指南文档. 匹配的 SDK 版本为:v1.0.0及以后版本. 如果您想要快速地测试. ...

  3. echarts4离线使用文档_适合写API接口文档的管理工具有哪些?

    现在越来越流行前后端分离开发,使用ajax交互.所以api接口文档就变的十分有意义了,目前市场有哪些比较优秀的接口文档管理工具呢? 1.MinDoc 网址:https://www.iminho.me/ ...

  4. python生成api文档_Django 自动生成api接口文档教程

    最近在写测试平台,需要实现一个节点服务器的api,正好在用django,准备使用djangorestframework插件实现. 需求 实现一个接口,在调用时,通过传递的参数,直接运行对应项目的自动化 ...

  5. 快速根据注释生成接口文档网页工具——Apidoc的使用教程

    环境: 操作系统   CentOS Linux release 7.6.1810 (Core)  64位 服务器环境   "腾讯云"服务器 1,安装Node.js的npm工具环境: ...

  6. 自动生成python接口文档_Django自动生成Swagger接口文档

    Django自动生成Swagger接口文档 1. 前言 当接口开发完成,紧接着需要编写接口文档.传统的接口文档通常都是使用Word或者一些接口文档管理平台进行编写,但此类接口文档维护更新比较麻烦,每次 ...

  7. 接口文档 HTML,附录1:接口文档参考模板

    虽然提供了在线接口参数的查看,但在和客户端对接过程中,我们作为后台开发,还是需要人工提供接口文档给客户端的,这里提供一个接口文档编写的模板,以供参考,并且以我们熟悉的?service=User.Get ...

  8. 实名认证接口文档,多场景实名认证接口

    现如今,随着移动互联网的飞速发展,越来越多的传统企业不断从线下向线上转型,面对互联网的虚拟性与多元性等特点,为有效的预防和避免网络信息诈骗风险,更好的维护企业以及个人用户的权益安全,实现用户实名注册成 ...

  9. 使用swagger实现在线api文档自动生成 在线测试api接口

    使用vs nuget包管理工具搜索Swashbuckle 然后安装便可 注释依赖于vs生成的xml注释文件 转载于:https://www.cnblogs.com/ProDoctor/p/752607 ...

  10. 爱迪尔 门锁接口文档_爱迪尔门锁系统接口函数(SDK)说明

    1 爱迪尔门锁系统接口函数( SDK )说明 ( 动态联接库函数说明 ) 适用门锁接口: Lock3200.DLL , Lock3200K.DLL , Lock4200.DLL , Lock4200D ...

最新文章

  1. vue使用命令行构建完项目后_vue-cli 构建项目在IE中无法运行解决方式(build之后可运行)...
  2. wps定位对话框快捷键_Word、Excel、PPT快捷键汇总
  3. footer固定到底部
  4. 剑指OFFER之字符串的排列(九度OJ1369)
  5. 2020Alibaba数学预选赛第2轮试题
  6. 沃土云创首批方案认证伙伴授牌,华为云与伙伴共创云原生产业新价值
  7. c++ log函数_高斯拉普拉斯算子(Laplacian of Gaussian, LoG)
  8. 【MySQL】mysql 数据库名称 中间带有中划线问题
  9. 年货节页面PSD分层模板,拿稳了!应急!
  10. java环绕通知的应用_Spring之环绕通知
  11. X86汇编语言从实模式到保护模式19:分页和动态页面分配
  12. call 在mysql,在MYSQL上选择CASE和CALL程序
  13. Unity3D实践3:BOSS血条
  14. 深度学习4-计算图机制详解
  15. Pspice for TI取消默认打开方式
  16. 华为鸿蒙系统支持5g吗,华为新机入网:预装鸿蒙OS 不支持5G网络
  17. 微信支付必须是服务器,微信付款码不需要联网的原理是什么?怎么生成?
  18. 2020年黑龙江省大豆种植分布数据
  19. 利用Sympy计算sin1°的最小多项式
  20. win11点击任务栏音量、无线、电池按钮无反应的解决过程

热门文章

  1. 宝马android系统升级,宝马史上最大规模软件升级,换新OS7系统和安卓Auto,您的换了吗...
  2. 网站克隆工具-httrack安装使用教程
  3. 基于vue的手机阅读小说类webapp
  4. innerHTML、innerText和outerHTML的区别
  5. 数字化转型投入大、效果差,永洪BI如何帮助企业迈出数据应用第一步
  6. 饥荒联机 显示服务器小麻烦,饥荒联机版新手从入门到精通教程
  7. 软件无线电 --- Rtlsdr系统原理框图
  8. Ubuntu18网络配置
  9. html5年龄大于18岁,写个JavaScript函数来判断是否大于18岁,比如传入1
  10. C++经典程序代码大全