汇聚支付APP+技术方案介绍

news/2024/11/8 5:49:58/

一、时序图
在这里插入图片描述

商户使用汇聚支付的 APP+方案,需要两个步骤:
步骤一:
请求汇聚支付的支付接口,https://www.joinpay.com/trade/uniPayApi.action
获取返回的关键参数 rc_Result。
步骤二:
商户 APP 按照微信的 SDK 规范使用汇聚支付返回参数唤起小程序即可。
(具体见下文)
Ps:后续消费者在小程序上的支付操作无需商户处理。 二、接口参数说明

  1. 汇聚:支付接口
    重要请求参数
    q1_FrpCode:WEIXIN_APP3
    q7_AppId:上传报备小程序的 appid(即对接汇聚 APP+支付的小程序)
    重要返回参数
    rc_Result:这个后续在 APP 调用小程序的时候需要用到
    示例:
{ "r7_TrxNo":"100219083040543045", "rb_CodeMsg":"", 
"r2_OrderNo":"LJ0620190830185403646565", "r3_Amount":"0.01", 
"r6_FrpCode":"WEIXIN_APP3", "rc_Result":"
{"order_amout":"0.01","payee_name":小微", 
"original_id":"gh_2e171ff94d82","trx_no":"100219090545163135",
"product_name":" 旺仔","app_id":"d3hhM2I0OWFlYWRjYzg3Mjk4"}", 
"ra_Code":100, "hmac":"B3116B12B5F593B9F4046D48FA02BBD2", 
"rd_Pic":"", "r4_Cur":"1", "r0_Version":"1.0", 
"r1_MerchantNo":"888108700005609"
}
  1. 微信:APP 拉起小程序
    微信官方提供了 SDK 以供开发者的 APP 拉起小程序。具体微信文档地址如下:
    https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Launching_a_Mini_Program/Android_Development_example.html
    PS:微信的 SDK 目前只支持原生的 APP 拉起,故用 H5 封装的 APP 需要在请支付
    的页面使用原生的页面开发。

1) Android
开发前需下载 Android 开发工具包(SDK),在上面的地址下载,按照微信的
官方流程集成并车市 SDK。
调用接口:WXLaunchMiniProgram 移动应用跳转到小程序
调用参数示例如下:
String appId = “wxd930ea5d5a258f4f”;
// 填移动应用(App)的 AppId,非小程序的 AppID
IWXAPI api = WXAPIFactory.createWXAPI(context, appId);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = “gh_d43f693ca31f”;
// 填小程序原始 id,对应 rc_Result.original_id
req.path = path; 拉起小程序页面的可带参路径,具体拼接,见下示例

//示例【重要】:(需要结合 rc_Result 返回的参数)
Path=“/pages/payIndex/payIndex?rc_result={“order_amout”:“0.01”,“payee_name”:“英子时尚
“,“original_id”:“gh_2e171ff94d82”,“trx_no”:“100219090444567177”,“product_desc”:” 旺仔牌”,“app_id”:“d3hhM2I0OWFlYWRjYzg3Mjk4”}”

2) iOS
iOS 调起小程序的代码示例如下:(参数规范如上所示)
WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName = userName; //拉起的小程序的 username
launchMiniProgramReq.path = path; 拉起小程序页面的可带参路径,
launchMiniProgramReq.miniProgramType = miniProgramType; //拉起小程序的类型
return [WXApi sendReq:launchMiniProgramReq];


http://www.ppmy.cn/news/77976.html

相关文章

SpringCloud(25):熔断降级实现

熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误。当资源被降级后,在接下来的降级时间窗口之…

比Figma更丝滑的“Figma网页版“

随着互联网的全面普及和全球化,设计协作工具逐渐成为团队协作中不可或缺的一部分。设计师们常需要通过在线设计协作工具来完成设计任务,而 Figma 作为协作工具的佼佼者,成为了许多设计师心中的首选。但是,对于国内设计师来说&…

基于ZeroTier虚拟网络搭建分流策略及创建IPv6网络

假设无数个成员(移动设备、终端、Docker),需要劫持所有请求,并根据它们请求所访问的域名解析出IPv6或者IPv4地址来进行有效的选择性访问 说的直白一点点就是:分流策略 这里例一下需要做的工作,来看一下&am…

计算机网络知识汇总(十万字超详细)

文章目录 1 计算机网络概述1.1 概念、组成、功能和分类1.2 标准化工作及相关组织1.3 速率相关的性能指标1.4 时延、时延带宽积、往返时间RTT、利用率1.5 分层结构、接口、协议、服务1.6 OSI参考模型1.7 TCP/IP与五层参考模型1.8 第一章知识大纲 2.物理层2.1 物理层基本概念2.2 …

Rocky Linux基础配置

任务一:windows脚本文件使用.(ps1) 复制物理机D:\soft\scriptswin的脚本文件复制虚拟机C:\根目录运行>./windows1.ps1将生成txt文档考的物理机上Linux脚本文件使用(.sh) 复制物理机D:\soft\scriptslin的脚本文件复制虚拟机/root目录下权限 #chmod 777 Linux1.sh运行 #./…

如何使用HTML、CSS和JavaScript来制作这两种类型的时钟

随着计算机技术的不断发展和普及,人们对于时间的精准度要求也越来越高。时钟作为我们日常生活必不可少的工具之一,也得到了越来越多的关注和研究。而在Web开发中,我们同样可以使用HTML、CSS和JavaScript的组合,制作出各式各样的时…

【初始scrapy框架下】——全栈开发——如桃花来

目录索引 Scrapy配置文件说明:第一部分:基本配置第二部分:并发与延迟第三部分:智能限速第四部分:爬取深度与爬取方式第五部分:中间件、Pipelines、扩展第六部分:缓存 DEBUG、INFO、WARN、ERROR、…

MySQL 中的 截断为指定位数 TRUNCATE、ROUND、FLOOR

1. 关于 MySQL 中的 TRUNCATE 函数 1.1 TRUNCATE 函数 TRUNCATE 函数用于将数字型数据截断为指定位数,常用于处理金额等数字列,以满足业务需求。语法如下: TRUNCATE(number, decimals) 其中,number 表示要截断的数字&#xff0…