JavaEE 微信境外支付
API文档
境外分为两种:
- 普通商户版
- 服务商版
普通商户版:
1.支付方式:
- 刷卡支付
- 公众号支付
- 扫码支付
- APP支付
2.报关接口:
用于商户提交海关需要的订单附近信息服务商版包括的支付方式有:
- 刷卡支付
- 公众号支付
- 扫码支付
1. 普通商户版
1.1 刷卡支付
详情API文档.
应用场景:
收银员使用扫码设备读取微信用户刷卡授权码以后,二维码或条码信息传送至商户收银台,由商户收银台或者商户后台调用该接口发起支付。
**⚠️提醒1:**提交支付请求后微信会同步返回支付结果。当返回结果为“系统错误”时,商户系统等待5秒后调用【查询订单API】,查询支付实际交易结果;当返回结果为“USERPAYING”时,商户系统可设置间隔时间(建议10秒)重新查询支付结果,直到支付成功或超时(建议30秒);
**⚠️提醒2:**在调用查询接口返回后,如果交易状况不明晰,请调用【撤销订单API】,此时如果交易失败则关闭订单,该单不能再支付成功;如果交易成功,则将扣款退回到用户账户。当撤销无返回或错误时,请再次调用。注意:请勿扣款后立即调用【撤销订单API】,建议至少15秒后再调用。撤销订单API需要双向证书。
1.1.1 接口url:
- https://apihk.mch.weixin.qq.com/pay/micropay (建议接入点:东南亚)
- https://apius.mch.weixin.qq.com/pay/micropay (建议接入点:其它)
- https://api.mch.weixin.qq.com/pay/micropay (建议接入点:中国国内)
1.1.2 与境内对比参数
除了以下参数,其他都和国内一致。
名称 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
版本号 | version | 否 | String(32) | 1.0 | 固定值 1.0 |
商品详情 | detail | 否 | String(6000) | 商品详细列表,使用Json格式,传输签名前请务必使用CDATA标签将JSON文本串保护起来。 |
- 商品详情类型
{
"goods_detail":[
{
"goods_name":"iPhone6s 16G",
"quantity":1,
},
{
"goods_name":"iPhone6s 32G",
"quantity":1,
}
]
}
复制代码
- 商品详情描述
goods_detail
└ goods_name String 必填 256 商品名称
└ quantity Int 必填4 商品数量 复制代码
1.1.3 支付方式:
- 免密支付流程
- 验密支付流程
1.2 公众号支付
**注意:**商户也可以把商品网页的链接生成二维码,用户扫一扫打开后即可完成购买支付。
交互细节:
以下是支付场景的交互细节,请认真阅读,设计商户页面的逻辑:
- (1)用户打开商户网页选购商品,发起支付,在网页通过JavaScript调用getBrandWCPayRequest接口,发起微信支付请求,用户进入支付流程。
- (2)用户成功支付点击完成按钮后,商户的前端会收到JavaScript的返回值。商户可直接跳转到支付成功的静态页面进行展示。
- (3)商户后台收到来自微信开放平台的支付成功回调通知,标志该笔订单支付成功。
注:(2)和(3)的触发不保证遵循严格的时序。JS API返回值作为触发商户网页跳转的标志,但商户后台应该只在收到微信后台的支付成功回调通知后,才做真正的支付成功的处理。
1.2.1 接口url:
- https://apihk.mch.weixin.qq.com/pay/unifiedorder (建议接入点:东南亚)
- https://apius.mch.weixin.qq.com/pay/unifiedorder (建议接入点:其它)
- https://api.mch.weixin.qq.com/pay/unifiedorder (建议接入点:中国国内)
**注:**商户可根据实际请求情况选择最优域名进行访问,建议在接入时做好兼容,当访问其中一个域名出现异常时,可自动切换为其他域名。
1.2.2 与境内对比参数
和刷卡支付一样的参数区别。
1.3 扫码支付
几乎和公众号支付相同
1.4 APP支付
商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再在APP里面调起支付。
除了请求参数“版本号” 和“商品详情” 不一样,其他都和境内一致。
1.5 报关接口
用于商户提交海关需要的订单附件信息。报关接口只支持一个月内的支付订单进行报关申请。 以下为财付通的海关备案信息,一般海关会提供,如果没有请参考下表: 财付通海关备案名称:财付通支付科技有限公司 财付通10位海关注册编码:440316T004
1.5.1 订单附加信息提交接口
详情API
1.5.1.1 url
URL地址:https://api.mch.weixin.qq.com/cgi-bin/mch/customs/customdeclareorder
重点注意:请求接口前请先在以下页面提交您的海关信息,所有你需要报关的海关信息都需要提交,且信息真实有效:https://pay.weixin.qq.com/index.php/extend/customs
1.5.2 订单附加信息查询接口
商户通过订单号查询提交的订单附加信息。如果是微信收集的实名信息,查询接口不返回实名信息内容.
详情API
2. 服务商版
详情API文档
2.1 刷卡支付
2.1.1 url
https://api.mch.weixin.qq.com/pay/micropay
2.1.1 参数区别
和普通商户版刷卡支付一样的参数区别。
2.2 公众号支付
详情API文档
2.2.1 url
https://api.mch.weixin.qq.com/pay/unifiedorder
2.2.2 参数区别:
名称 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商品ID | product_id | 否 | String(32) | 12235413214070356458058 | trade_type=NATIVE,此参数必传。此id为二维码中包含的商品ID,商户自行定义。 |
用户标识 | openid | 否 | String(128) | oUpF8uMuAJO_M2pxb1Q9zNjWeS6o | trade_type=JSAPI,此参数必传,用户在主商户appid下的唯一标识。openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid。下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。 |
用户子标识 | sub_openid | 否 | String(128) | oUpF8uMuAJO_M2pxb1Q9zNjWeS6o | trade_type=JSAPI,此参数必传,用户在子商户appid下的唯一标识。openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid。下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。 |
2.3 扫码支付
详情API文档
和公众号支付一致。
JavaEE 微信境外支付相关推荐
- 微信境外支付php_PHP实现 APP端微信支付功能
前面已经写了手机APP支付宝支付,今天再把手机APP微信支付补上,前期的准备工作在这里就不多说了,可以参考微信支付开发文档,一定要仔细阅读开发文档,可以让你少踩点坑:准备工作完成后就是配置参数,调用统 ...
- JavaEE 微信支付
微信境内支付包括: App支付 公众号支付 小程序支付 H5 支付 扫码支付 刷卡支付 除刷卡支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫 ...
- 微信架构 支付架构(下)
微信架构 & 支付架构(下) 管理网络请求 首先看看原来 iOS 处理支付网络请求的缺陷: 原来支付的请求,都是通过一个单例网络中心去发起请求,然后收到回包后,通过抛通知,或者调用闭包的方式回 ...
- 微信架构 支付架构(上)
微信架构 & 支付架构(上) 一. 微信和支付宝对比 这两者现在已经占领了移动支付的90%市场,支付形式也都大抵相同,只是在实现细节上略微不同.这里之所以要专门对比,是因为有些接口的不同在后边 ...
- (用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正...
原文:(用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正 native支付模式一demo(用微信扫的静态链接二维码)BUG修复,一共4个BUG 1.nativ ...
- 解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转)
解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) 参考文章: (1)解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) ( ...
- JAVA微信APP支付接口整合
2019独角兽企业重金招聘Python工程师标准>>> 上次我们看到了支付宝的APP支付工具,那么这次就来封装封装微信的APP支付;如果已经清楚了支付宝的支付流程,那么微信支付也和它 ...
- 第三方支付——微信app支付
微信App支付 前言 本篇文章将结合自己实际开发经验,从一下几个方面介绍微信app支付,什么是微信app支付?支付流程是什么样的? 前期需要准备些什么?结合官方文档和实际代码带大家走流程. 正文 微信 ...
- 微信jsapi支付获取code_微信支付(公众号支付JSAPI)
微信公众号支付/微信浏览器支付(JSAPI) 一:获取微信支付四大参数 步骤二:平台配置 配置支付目录:商户平台. 配置此目录是代码中"微信支付"所在页面的地址,一级域名需ICP备 ...
- js获取微信状态栏高度_人人商城打包app教程 方法 hbuilder打包支持支付宝微信原生支付...
使用hbuilder打包人人商城app 方法支持微信支付宝原生支付 介绍 人人商城打包使用hbuilder打包app需要的文件,目前支持微信原生支付,支付宝原生支付,原生退出app ,还没有写分享和原 ...
最新文章
- 一个DIV调用多个CSS样式
- 参加51CTO学院软考培训,我通过啦
- #20145238荆玉茗《网络对抗》-逆向及Bof进阶实践
- Dicom Test Files
- win7修改路径【桌面路径,administrator的路径】
- android toast居中显示_Android和iOS7的差异点!
- java一个式子开根号语句_Oracle查询语句,你知道几个?(上)
- 解决iSlider的一些问题(滑动组件)
- openwrt顶层Makefile分析-转
- 片段中未调用onActivityResult
- vue小案例---cnode
- 中国研究生数学建模竞赛试题
- 封堵高危端口,预防勒索病毒
- 总方差公式(方差分解公式)证明
- Spark机器学习实验
- PHP如何在照片下面写一行字_怎样在手机照片下方留白加文字?
- 由于使用计算机编制会计报表,《计算机会计学》1
- 加州大学4.8万人大罢工!博士竟卖血为生,多校濒临崩溃!
- 程序员必备网站Collection~
- 虚拟机中左键不能使用,鼠标滑轮和右键正常-解决方案