无忧支付网首页
站内搜索
您当前的位置:主页 > 支付接口申请介绍 >

商户对接支付宝接口(进件+技术接入)

添加时间:2022-06-14

  支付后端在以上实现完成之后,就可以将其提供给商户开发者进行应用整合和接入了。本文以商户开发者角色接入收银台,商户采用Spring Boot和MyBatis等服务端开发组件和技术来接入支付后端,讲解如何将第三支付收银台整合到商户业务系统中。

  成熟的支付机构一般都会提供开放平台(例如支付宝开放平台)介绍自己的支付业务流程、接入、文档、问题解答等。

  1、进件

  在接入支付系统之前,需要到第三方支付机构或聚合支付厂商申请支付接入,这需要商户提供相关的资质证明文件来确认合作关系。第三方支付机构或聚合支付厂商会根据商户所属公司的规模、信誉为程序开放相关支付功能,即前面所讲的进件。

  以接入支付宝支付功能为例,首先,商户要申请支付宝商户号,申请商户号的过程就是进件的过程。

  商户的商务人员在接入支付收银台前一般需要将以下内容递交给第三方支付机构、聚合支付厂商及商业银行,进行资格审核和信息注册。

  ·营业执照:提供企业或组织的营业执照的图片信息正面。
  ·企业或个人账户:其账户必须完成实名认证。
  ·身份证:如果是个人账户,则必须跟签约法人的主体保持一致;如果是企业,则需要提供法人的相关身份证。
  ·游戏和文化企业:需要出示相关运营内容的着作权证明文件等。
  ·联络人信息 :在审核过程中重 新提交资料和修改相关信息时,需要指定对应的商务和技术人员以方便联系。

  支付机构在审核完毕之后进行支付签约,签约完成之后提交应用到开放平台,将提供以下信息给商户开发者。

  ·商户标识:支付机构分配给商户的应用ID。
  ·开发者开发工具包(简称SDK)。
  ·支付机构公钥:用于数据安全和签名。
  ·数据签名方案类型:商户在生成订单信息后,要使用此数据进行数字签名,签名算法类型一般是SHA1withRSA、 RSA2和RSA。

  对密钥生成工具一般采用非对称加密算法,商户在生成公钥和私钥(密钥对)后需要将公钥存放在第三方支付机构,将私钥保留在自己的私有云或主机上。

  在开放平台SDK及Demo里会有支付宝Web接入的Demo(提供Java、PHP、.Net三种服务器编程语言压缩包),将该Demo下载、解压缩并导入IDEA IDE工程中。

  解压缩之后,在该Demo中可以看到AlipayConfig类和几个JSP文件:

代码1

代码2

  2、注册账号

  第三方支付机构一般都会为商户注册提供开放平台,商户和开发者可以在开放平台上免费注册(例如支付宝的开放平台)。在注册流程中,商户可以提交自己的商业应用, 开放平台会进行审核并根据应用生成一个与之对应的应用标识(一般叫作应用ID,APPID),且申请应用对应的手机权限和支付产品序列。商户应用在有了APPID之后就能调用支付系统和接口的相关支付功能了。

  在增加应用之后就需要对该应用添加功能。

  电脑网站的支付功能支持两种签约方式:商家中心签约和应用详情的功能列表处签约。

  3、生成商户公私钥

  为了保证交易双方(商户和支付宝)身份和数据的安全性,开发者在调用接口前需要配置双方密钥,对交易数据进行双方校验。

  密钥包含应用私钥(APP PRIVATE_KEY)和应用公钥(APP PUBLIC_KEY)。在生成密钥后 ,开发者需要 在开放平台的开发者中心进行密钥配置,在配置完成后就可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)了。

  4、配置同异步通知接口

  如果服务器的异步通知页面路径(notify_url)没有修改过URL路径,则直接修改服务器IP和端口号就可以了: http:I/公网|IP(域名):8080/fastpay-gwalipay/notify_ ur:jisp。 Web页 面跳转同步通知页面的路径(return_ _url)为http:I/公网|IP(域名):8080/fastpay-gw-alipay/return_url.jsp。

  5、支付订单表

  在MySQL中创建支付订单数据库表,对于其他用户信息表、商品表,这里不再一一描述:

代码3

代码4

  在建立数据库表之后,开始写MyBati数据库访问接口Mapper主要是对支付订单数据库表进行增删改查。

  6、支付服务类

  支付服务(订单操作服务接口)主要用于创建订单实体:

代码5

  创建订单实体实现函数:

代码6

代码7

  以下函数(startFastPayProcess())完成的任务的是到支付宝的支付网关进行支付,为事务管理函数,一般需要在函数声明 上添加@Transactional注解:

代码8

代码9

  调用顺序如下。

  (1)商户系统请求支付后端API fastpay.trade.start.pay对商户请求参数进行校验,之后重定向至用户登录页面。
  (2)在用户确认支付后,支付宝通过GET请求returnUrl(商户入参传入)返回同步支付相关参数。
  (3)在交易成功后,支付宝通过HTTP的POST请求notifyUrl(商户入参传入)返回异步通知参数。
  (4)若由于网络等问题异步通知没有到达,则商户可自行调用交易查询接口fastpay.trade.query进行查询,根据查询接口获取交易及支付信息(商户也可以直接调用查询接口,不需要依赖异步通知)。

  这样就将支付宝的支付后端API整合到商户应用系统中了。

关闭

1.点击下面按钮复制微信号

***********

2.打开微信→查找微信号

加为好友 开始支付接入