搜档网
当前位置:搜档网 › 支付集成组件

支付集成组件

支付集成组件
支付集成组件

1.支付集成

1.1.功能简介

通过此组件提供的REST服务,用户可以通过支付宝即时转账、扫码支付、网银支付,微信扫码,畅捷支付渠道来完成支付。

支持的支付渠道如下:

1),支付宝快捷支付功能

付款方需要登录支付宝账户,通过支付宝即时转账功能,来完成支付。

2),支付宝扫码支付功能

付款方通过支付宝客户端,扫描支付页面显示的二维码完成支付。

3),支付宝网银支付功能

付款方通过登录支付宝支持的网上银行完成支付。

4),支付宝担保支付功能

付款方可以选择担保支付的功能来完成网上购物。

5),微信扫码支付功能

付款方通过微信移动客户端,扫描支付页面的二维码来完成支付。

5),畅捷支付功能

付款方选择畅捷支付方式之后,由畅捷支付引导用户完成支付

注:以上服务,需要商家购买对应支付平台的支付业务服务

1.2.工作流程

1)、支付宝支付的数据交互流程

(1) 构造请求数据

商户根据【支付宝提供的接口规则】传入数据,程序根据传入的数据进行数据签名加密等操作,构造出符合支付宝接口规则的数据。

(2) 发送请求数据

把构造完成的数据集合,通过页面链接跳转或表单提交的方式传递给支付宝。

(3) 支付宝对请求数据进行处理

支付宝得到这些集合后,会先进行安全校验等验证,一系列验证通过后便会处理这次发送过来的数据请求。

(4) 返回处理的结果数据

对于处理完成的交易,支付宝会以两种方式把数据反馈给商户网站。

●程序上自动进行,重新构造URL地址链接,通过自动跳转的方式跳回商户在请求时设定好的页面路径地址(参数return_url,如果商户没有设定,则不会进行该操作);

●支付宝服务器主动发起通知,调用商户在请求时设定好的页面路径(参数notify_url,如果商户没有设定,则不会进行该操作)。

(5) 对获取的返回结果数据进行处理

商户在同步通知处理页面(参数return_url指定页面文件)或服务器异步通知页面(参数notify_url指定页面文件)获取支付宝返回的结果数据后,可以结合自身网站的业务逻辑进行数据处理(如:订单更新、自动充值到会员账号中等)。

2)、微信扫码支付的交互流程

(1) 构造请求数据

后台按照微信支付【统一下单API】的接口规则构造请求数据

(2) 发送请求数据

把构造完成的数据集合,模拟浏览器post提交传递给微信支付服务器。

(3) 返回处理的结果数据

微信支付服务器在对第二步传递的数据进行一系列校验分析处理后,会返回一个

XML报文,在这个报文里包含了一个code_url

(4)根据返回的数据,构造二维码

根据第三步生成的code_url,在页面上生成一个二维码,引导用户来完成支付

3)、畅捷支付的交互流程

(1) 构造请求数据

按照API文档规则构造请求数据

(2) 发送请求数据

在JSP中,将构造好的数据提交到对应的Action。

(3) 返回处理的结果数据

畅捷支付服务器,会将支付数据发送到在(1)中设置好的notifyUrl中,用户可对返回结果进行响应

1.3.API接口

1.3.1.支付宝快捷支付接口

描述

通过支付宝即时到帐服务,完成快捷支付的功能

请求方法

/pay/bill?pay_type=ALI&key=vaule

请求方式

HTTP POST

请求参数说明

1.3.

2.支付宝网银支付接口

描述

通过支付宝支持的网上银行,完成网银支付功能请求方法

/pay/bill?pay_type=ALI_BANK&key=vaule 请求方式

HTTP POST

请求参数说明

1.3.3.支付宝担保交易接口

描述

用户开通支付宝担保交易服务之后,通过此服务,完成担保交易请求方法

/pay/bill?pay_type=ALI_GU&key=vaule

请求方式

HTTP POST

1.3.4.微信扫码支付接口

描述

通过微信的扫码支付渠道,完成支付功能

请求方法

/pay/bill?pay_type=WX_SCAN&key=vaule

请求方式

HTTP POST

请求参数说明

1.3.5.畅捷支付接口

描述

通过畅捷支付提供的支付能力,商户向畅捷通发起支付订单请求,完成支付请求方法

/pay/bill?pay_type=CHANJETPAY&key=vaule

请求方式

HTTP POST

签名信息描述:所有值,为空的时候也参与。

md5签名的方式为:

bgUrl=¬ifyUrl=&businessId=&platIdtfy=&merchantId=&orderId=&orderDate=&bankT ype=&payeeBankAccount=&payeeBankType=&payeeBankName=&payeeName=&deviceId=&p ayerName=&payerCardType=&payerContactMbl=&payerContactMal=&orderAmount=&amtTyp e=&orderTime=&expireTime=&goodsId=&productName=&productNum=&productDesc=&redo Flag=&merPriv=&expand=&expand2=&key=商户密钥

1.4.开发步骤

1),引入支付组件Jar包,

如果是maven工程,可以直接使用如下依赖:

2),将配置文件和相应JSP文件放到指定目录

此文件用于生成微信支付二维码

三种支付渠道jsp放在WEB-INF目录下,

增加安全性

配置文件说明:

IEOPPayConfig.properties:支付组件的配置信息,基本不用修改

ReceiverAccountInfo.properties:收款方账户信息,需要将组件支持的支付渠道用户信息

填充

aliPay.jsp、chanjetPay.jsp、wxscanPay.jsp :分别是支付宝、微信扫码、畅捷支付对应的

支付引导JSP,一般存放在系统的WEB-INF目录下,为了便于管理和层次清晰,建议统一放在pay_page文件夹中,JSP内容不需要修改

notify_url.jsp、return_url.jsp:这两个页面分别对应支付参数中的notify_url和return_url,页面内容可以作为参考

pay_fail.jsp、pay_success.jsp:分别对应支付成功和支付失败之后的逻辑处理页面,仅供参考

3)配置扫描路径,确保com.yonyou.uap.ieop.pay 路径下的controller被扫描到

4),发送HTTP请求到RESTful服务接口

在前端页面可以通过aJax请求或者提交form表单等方式,通过POST请求,把数据发送到pay/bill,参数格式参见5.3 API接口,组件将会引导用户完成支付。

一个简单的前台发起支付请求的例子:

其中,payOrderForm是一个支付表单,内容为各支付渠道的参数,具体各支付渠道需要传入哪些参数,请参考5.3 API接口

5),处理支付结果

接口com.yonyou.uap.ieop.pay.service.PayService提供了

getPayResult(HttpServletRequest request)方法,用户可以通过实现此接口来完成对支付结果的获取,然后对支付结果进行下一步的业务逻辑处理。

1.5.扩展机制

支付集成组件

1.支付集成 1.1.功能简介 通过此组件提供的REST服务,用户可以通过支付宝即时转账、扫码支付、网银支付,微信扫码,畅捷支付渠道来完成支付。 支持的支付渠道如下: 1),支付宝快捷支付功能 付款方需要登录支付宝账户,通过支付宝即时转账功能,来完成支付。 2),支付宝扫码支付功能 付款方通过支付宝客户端,扫描支付页面显示的二维码完成支付。 3),支付宝网银支付功能 付款方通过登录支付宝支持的网上银行完成支付。 4),支付宝担保支付功能 付款方可以选择担保支付的功能来完成网上购物。 5),微信扫码支付功能 付款方通过微信移动客户端,扫描支付页面的二维码来完成支付。 5),畅捷支付功能 付款方选择畅捷支付方式之后,由畅捷支付引导用户完成支付 注:以上服务,需要商家购买对应支付平台的支付业务服务

1.2.工作流程 1)、支付宝支付的数据交互流程 (1) 构造请求数据 商户根据【支付宝提供的接口规则】传入数据,程序根据传入的数据进行数据签名加密等操作,构造出符合支付宝接口规则的数据。 (2) 发送请求数据 把构造完成的数据集合,通过页面链接跳转或表单提交的方式传递给支付宝。 (3) 支付宝对请求数据进行处理 支付宝得到这些集合后,会先进行安全校验等验证,一系列验证通过后便会处理这次发送过来的数据请求。 (4) 返回处理的结果数据 对于处理完成的交易,支付宝会以两种方式把数据反馈给商户网站。 ●程序上自动进行,重新构造URL地址链接,通过自动跳转的方式跳回商户在请求时设定好的页面路径地址(参数return_url,如果商户没有设定,则不会进行该操作); ●支付宝服务器主动发起通知,调用商户在请求时设定好的页面路径(参数notify_url,如果商户没有设定,则不会进行该操作)。 (5) 对获取的返回结果数据进行处理 商户在同步通知处理页面(参数return_url指定页面文件)或服务器异步通知页面(参数notify_url指定页面文件)获取支付宝返回的结果数据后,可以结合自身网站的业务逻辑进行数据处理(如:订单更新、自动充值到会员账号中等)。 2)、微信扫码支付的交互流程 (1) 构造请求数据 后台按照微信支付【统一下单API】的接口规则构造请求数据 (2) 发送请求数据 把构造完成的数据集合,模拟浏览器post提交传递给微信支付服务器。 (3) 返回处理的结果数据 微信支付服务器在对第二步传递的数据进行一系列校验分析处理后,会返回一个

STKX组件实现c#与stk的集成

STK X Tutorial - C# In this exercise you will gain hands-on experience using STK X to embed STK functionality in a container application created with C#. N OTE:Except where otherwise noted, the instructions in this tutorial are applicable whether you are using Visual Studio 2005 or Visual https://www.sodocs.net/doc/048941047.html, (2003). All pictures are of the Visual Studio 2005 interface. C ONTENTS CREATE THE PROJECT (1) ADD THE STK X CONTROLS TO THE TOOLBOX (1) SEND COMMANDS TO STK X (2) ADD ZOOM IN/OUT TO THE MAP CONTROL (4) RESPOND TO EVENTS RAISED BY STK X (5) ADD MAP PICKING (8) SET STK X PROPERTIES (9) Create the project 1)Start Visual Studio. 2)From the File menu, select New, and then Project…. 3)Select Visual C# as the Project type and the Windows Application template. Enter a project name and location of your choice. 4)The Form1.cs windows form is opened in Design mode. Add the STK X controls to the Toolbox 1)If the Toolbox is not already displayed, select it from the View menu. 2)Go to the General section of the toolbox, and right-click in the toolbox background. 3)In the context menu, select Choose Items… (or Add/Remove Items… if you are using Visual https://www.sodocs.net/doc/048941047.html, 2003). STK X Tutorial – C# 1

相关主题