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文本串保护起来。
  1. 商品详情类型
{
"goods_detail":[
{
"goods_name":"iPhone6s 16G",
"quantity":1,
},
{
"goods_name":"iPhone6s 32G",
"quantity":1,
}
]
}
复制代码
  1. 商品详情描述
goods_detail
└ goods_name String 必填 256 商品名称
└ quantity Int 必填4 商品数量 复制代码

1.1.3 支付方式:

  1. 免密支付流程
  2. 验密支付流程

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 微信境外支付相关推荐

  1. 微信境外支付php_PHP实现 APP端微信支付功能

    前面已经写了手机APP支付宝支付,今天再把手机APP微信支付补上,前期的准备工作在这里就不多说了,可以参考微信支付开发文档,一定要仔细阅读开发文档,可以让你少踩点坑:准备工作完成后就是配置参数,调用统 ...

  2. JavaEE 微信支付

    微信境内支付包括: App支付 公众号支付 小程序支付 H5 支付 扫码支付 刷卡支付 除刷卡支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫 ...

  3. 微信架构 支付架构(下)

    微信架构 & 支付架构(下) 管理网络请求 首先看看原来 iOS 处理支付网络请求的缺陷: 原来支付的请求,都是通过一个单例网络中心去发起请求,然后收到回包后,通过抛通知,或者调用闭包的方式回 ...

  4. 微信架构 支付架构(上)

    微信架构 & 支付架构(上) 一. 微信和支付宝对比 这两者现在已经占领了移动支付的90%市场,支付形式也都大抵相同,只是在实现细节上略微不同.这里之所以要专门对比,是因为有些接口的不同在后边 ...

  5. (用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正...

    原文:(用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正 native支付模式一demo(用微信扫的静态链接二维码)BUG修复,一共4个BUG 1.nativ ...

  6. 解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转)

    解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) 参考文章: (1)解决iOS微信H5支付跳转微信后不返回App问题(Swift-WKWebview)(转) ( ...

  7. JAVA微信APP支付接口整合

    2019独角兽企业重金招聘Python工程师标准>>> 上次我们看到了支付宝的APP支付工具,那么这次就来封装封装微信的APP支付;如果已经清楚了支付宝的支付流程,那么微信支付也和它 ...

  8. 第三方支付——微信app支付

    微信App支付 前言 本篇文章将结合自己实际开发经验,从一下几个方面介绍微信app支付,什么是微信app支付?支付流程是什么样的? 前期需要准备些什么?结合官方文档和实际代码带大家走流程. 正文 微信 ...

  9. 微信jsapi支付获取code_微信支付(公众号支付JSAPI)

    微信公众号支付/微信浏览器支付(JSAPI) 一:获取微信支付四大参数 步骤二:平台配置 配置支付目录:商户平台. 配置此目录是代码中"微信支付"所在页面的地址,一级域名需ICP备 ...

  10. js获取微信状态栏高度_人人商城打包app教程 方法 hbuilder打包支持支付宝微信原生支付...

    使用hbuilder打包人人商城app 方法支持微信支付宝原生支付 介绍 人人商城打包使用hbuilder打包app需要的文件,目前支持微信原生支付,支付宝原生支付,原生退出app ,还没有写分享和原 ...

最新文章

  1. 一个DIV调用多个CSS样式
  2. 参加51CTO学院软考培训,我通过啦
  3. #20145238荆玉茗《网络对抗》-逆向及Bof进阶实践
  4. Dicom Test Files
  5. win7修改路径【桌面路径,administrator的路径】
  6. android toast居中显示_Android和iOS7的差异点!
  7. java一个式子开根号语句_Oracle查询语句,你知道几个?(上)
  8. 解决iSlider的一些问题(滑动组件)
  9. openwrt顶层Makefile分析-转
  10. 片段中未调用onActivityResult
  11. vue小案例---cnode
  12. 中国研究生数学建模竞赛试题
  13. 封堵高危端口,预防勒索病毒
  14. 总方差公式(方差分解公式)证明
  15. Spark机器学习实验
  16. PHP如何在照片下面写一行字_怎样在手机照片下方留白加文字?
  17. 由于使用计算机编制会计报表,《计算机会计学》1
  18. 加州大学4.8万人大罢工!博士竟卖血为生,多校濒临崩溃!
  19. 程序员必备网站Collection~
  20. 虚拟机中左键不能使用,鼠标滑轮和右键正常-解决方案

热门文章

  1. linux系统认证中级是什么,红帽中级RHCE证书有什么用
  2. JavaScript实现:抽奖活动
  3. 关闭NV显卡的优化功能
  4. 信用评分模型详解(下)之 信用评分系统搭建
  5. unity手机端发布
  6. flv是什么视频格式?怎么把flv转换成mp4?
  7. JavaSE(9)-细节狂魔:OOP之继承多态?20K字长篇看完,有手就行
  8. 计算机开机闪烁进不去,电脑开机左上角横杠一直闪进不去系统怎么办
  9. 全屏滚动插件之 fullpage.js
  10. 基于PyQT5制作一个二维码生成器