支付技术解决方案

9/25/2015 6:41:52 PM

1.微信支付简介
1.1 功能简介
微信支付,是基于微信客户端提供的支付服务功能。同时向商户提供销售经营分析、 账户和资金管理的技术支持。 用户通过扫描二维码、 点击图文消息进入商品页面购买等多种方式调起微信支付模块完成支付。
目前微信支持公众号内支付。 其中支付方式, 可以分为 JS API 支付、 Native(原生)支付。商户可以结合业务场景,自主选择支付形式。
 

1.2 支付账户
商户向微信公众平台提交企业信息以及银行账户资料, 审核通过并签约后, 可以获得以下帐户(包含财付通的相关支付资金账户) ,用于公众号支付。
帐号 作用
appId       公众号身份标识。
appSecret    公众平台 API(参考文档 API 接口部分)的权限获取所需密钥 Key,在使用所有公众平台 API 时,都需要先用它去换取 access_token,然后再进行调用。
paySignKey   公众号支付请求中用于加密的密钥 Key, 可验证商户唯一身份, PaySignKey对应于支付场景中的 appKey 值。
partnerId    财付通商户身份标识。
partnerKey    财付通商户权限密钥 Key。

注意: appSecret、 paySignKey、 partnerKey 是验证商户唯一性的安全标识, 请妥善保管。
对于 appSecret 和 paySignKey 的区别,可以这样认为:appSecret 是 API 使用时的登录密码,会在网络中传播的;而 paySignKey 是在所有支付相关数据传输时用于加密并进行身份校验的密钥,仅保留在第三方后台和微信后台,不会在网络中传播。

 

1.3 支付方式
公众号支付有 2 种方式:
JS API 支付:是指用户打开图文消息或者扫描二维码,在微信内置浏览器 打开网页进行的支付。 商户网页前端通过使用微信提供的 JS API, 调用微信支付模块。 这种方式, 适合需要在商户网页进行选购下单的购买流程。
Native(原生)支付:是指商户组成符合 Native(原生)支付规则的 URL 链接,用户可通过点击该链接或者扫描对应的二维码直接进入微信支付模块(微信客户端界面) ,即可进行支付。这种方式,适合无需选购直接支付的购买流程。
以上两种支付方式, 最大的差别在于是否需要经过网页调起支付。 以下是两种支付方式的基本交互: