银联商务H5支付接口文档:文档地址

一:H5支付的接口地址:

1:支付宝支付

测试地址:http://58.247.0.18:29015/v1/netpay/trade/h5-pay

正式地址:https://api-mop.chinaums.com/v1/netpay/trade/h5-pay

2:银联支付

测试地址:http://58.247.0.18:29015/v1/netpay/uac/order

正式地址:https://api-mop.chinaums.com/v1/netpay/uac/order

二:接口需要的基本参数

接口使用的是get传参,直接将接口参数放到接口地址后,此接口是由浏览器直接跳转到接口

(1)authorization

认证方式,直接填入:OPEN-FORM-PARAM

(2)appId

银联商务用户H5支付产品的AppID

(3)timestamp

时间戳,格式为yyyyMMddHHmmss,如20191001121212

(4)nonce

随机数

(5)content

业务内容,为json格式,并且需要进行url编码,内部的具体信息下面介绍

(6)signature

签名,需要进行url编码,具体生成方式如:Base64_Encode(HmacSHA256(appId + timestamp + nonce + SHA256_HEX(content), AppKey))

业务内容content参数内部具体参数说明:

1:requestTimestamp

报文请求时间,格式为yyyy-MM-dd HH:mm:ss,如2019-10-01 12:12:12

2:merOrderId

商户自己生成的订单号,这里注意:我们需要在我们自己生成的订单号前面加上1017前缀

3:mid

银联商务用户H5支付产品的商户号

4:tid

银联商务用户H5支付产品的终端号

5:instMid

业务类型,直接填入:H5DEFAULT

6:totalAmount

支付总金额,单位为分

7:expireTime

订单过期时间,格式为yyyy-MM-dd HH:mm:ss,如2019-10-02 12:12:12

8:notifyUrl

支付结果通知地址

9:returnUrl

网页跳转地址

三:H5支付的支付宝支付实例

$appId = '10037e6f6a4e6da4016a670fd4530012';

$appKey = 'f7a74b6c02ae4e1e94aaba311c04acf2';

$mid = '898310148160568';

$tid = '88880001';

//业务内容

$time = time();

$content = [

'requestTimestamp' => date('Y-m-d H:i:s', $time),//报文请求时间

'merOrderId' => '1017' . date('YmdHis'),//商户订单号

'mid' => $mid,//商户号

'tid' => $tid,//终端号

'instMid' => 'H5DEFAULT',//业务类型

'totalAmount' => '1',//支付总金额

'expireTime' => date('Y-m-d H:i:s', strtotime('+1 day', $time)),//过期时间

'notifyUrl' => '',//支付通知地址

'returnUrl' => ''//网页跳转地址

];

$timestamp = date('YmdHis', $time);

//随机数

$str = md5(uniqid(mt_rand(), true));

$uuid = substr($str, 0, 8) . '-';

$uuid .= substr($str, 8, 4) . '-';

$uuid .= substr($str, 12, 4) . '-';

$uuid .= substr($str, 16, 4) . '-';

$uuid .= substr($str, 20, 12);

$nonce = $uuid;

//签名

$hash = bin2hex(hash('sha256', json_encode($content), true));

$hashStr = $appId . $timestamp . $nonce . $hash;

$signature = base64_encode((hash_hmac('sha256', $hashStr, $appKey, true))); //$appKey银联商户H5支付产品的AppKey

$data = [

'timestamp' => $timestamp,//时间戳

'authorization' => 'OPEN-FORM-PARAM',//认证方式

'appId' => $appId,//APPID

'nonce' => $nonce,//随机数

'content' => urlencode(json_encode($content)),//业务内容

'signature' => urlencode($signature),//签名

];

//接口返回信息

//支付宝:http://58.247.0.18:29015/v1/netpay/trade/h5-pay

//银联在线无卡:http://58.247.0.18:29015/v1/netpay/qmf/h5-pay

//银联:http://58.247.0.18:29015/v1/netpay/uac/order

$options = '';

foreach ($data as $key => $value) {

$options .= $key . '=' . $value .'&';

}

$options = rtrim($options, '&');

//存在转义字符,那么去掉转义

if(get_magic_quotes_gpc()){

$options = stripslashes($options);

}

$url = 'http://58.247.0.18:29015/v1/netpay/trade/h5-pay?' . $options;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

银联 php hex2bin,php 实现银联商务H5支付的示例代码相关推荐

  1. 银联 php hex2bin,php 实现银联商务H5支付

    银联商务H5支付接口文档:文档地址 一:H5支付的接口地址: 1:支付宝支付 测试地址:http://58.247.0.18:29015/v1/netpay/trade/h5-pay 2:银联支付 测 ...

  2. php 实现银联商务H5支付

    银联商务H5支付接口文档:文档地址 一:H5支付的接口地址: 1:支付宝支付 测试地址:http://58.247.0.18:29015/v1/netpay/trade/h5-pay 正式地址:htt ...

  3. 企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET

    企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET 原文:企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET 先看效果 1.本文演示的是 ...

  4. 服务号php代码示例,php实现银联商务公众号+服务窗支付的示例代码

    之前我们学习了银联商务的H5支付,但是现在H5支付不支持微信支付,最后发现银联商务的公众号+服务窗支付可以支持支付宝支付+微信支付+银联支付 一:接口地址: 测试接口地址:https://qr-tes ...

  5. html百度地图app,uniapp H5 百度地图(示例代码)

    uniapp跳转内部html 使用webview 1.首先在根目录创建hybrid 文件夹,创建html子文件夹 2.创建包含webview的vue文件,在pages.json内写入路径 文件中包un ...

  6. html微信支付功能代码,H5调起微信支付功能(示例代码)

    第一步:需要后端返回需要的以下参数: 该操作是你提交完订单信息后在接口所返回的json, 其次将其存储起来,我用的localStorage var payParams = { "appId& ...

  7. C# ASP.NET MVC 微信和支付宝H5支付开发及Demo

    微信和支付宝H5支付 最近开发任务遇到了一个要在手机浏览器里面调起微信和支付宝去支付的开发需求,以前都是做的扫码支付或者JSAPI都是在软件内部支付的,没遇到过在自己浏览器内唤醒微信或者支付宝的支付这 ...

  8. Node.js实现支付宝H5支付

    1.      创建支付应用 1.1.根据需要选择接口类型,这里选择支付应用. 1.2.选择使用环境 1.3.签约当面付(线下支付)   2.      使用alipay-sdk 2.1. 引入服务端 ...

  9. java微信网页支付_java实现微信H5支付

    原标题:java实现微信H5支付 前面做了app微信支付的回调处理,现在需要做微信公众号的支付,花了一天多时间,终于折腾出来了!鉴于坑爹的微信官方没有提供Java版的demo,所以全靠自己按照同样坑爹 ...

最新文章

  1. 不自动切换eclipse视图
  2. 【转】并行计算、分布式计算、集群计算和云计算
  3. 文巾解题 2. 两数相加
  4. mechanism and analysis
  5. java内部类文件,Java内部类学习
  6. 工业用微型计算机(16)-指令系统(11)
  7. Java Longest Palindromic Substring(最长回文字符串)
  8. python函数拟合不规则曲线_python曲线拟合
  9. spring MVC中页面添加锚点
  10. 红黑树插入时的自平衡
  11. Android studio如何导入已有的eclipse工程
  12. 菜鸟教程java在线编辑器_HTML 编辑器
  13. 教你如何使用Excel中的INT函数
  14. VS2008下载地址和版本破解
  15. 视频教程-Go快速入门强化-Go语言
  16. 长尾预测效果不好怎么办?试试这两种思路
  17. 纪年——记事本app
  18. 阿里云高主频通用型hfg7云服务器磁盘I/O性能表详解
  19. 包邮再送500份!我们自制了一张【数据分析知识鼠标垫】,抓紧领取
  20. 微信小程序 基础库版本与客户端版本对应关系

热门文章

  1. 一个文科科研狗的5月总结
  2. Unity normalized的坑
  3. R语言入门(5)-向量运算
  4. Option-Critic代码分析
  5. Tensorflow实战学习(四十一)【分布式并行】
  6. fmod profiler的使用
  7. 深入立即Linux网络技术内幕学习笔记第十六章:桥接:Linux实现
  8. python 服从正太分布下概率密度函数
  9. 弘辽科技:淘宝人气新品是什么意思?人气新品权重包含哪些?
  10. 高等数学Mathematica实验题——绘制极坐标方程的曲线图形(e螺线、肾腰线、蝴蝶线(e Sprial, Kidney Curve, Butterfly Curve))