【PHP】工银e缴费PHP版本对接?

文档参考

https://open.icbc.com.cn/icbc/apip/docs_index.html

工银e缴费PHP版本对接?

背景介绍

因为工行e缴费集成了许多缴费项目,包括水电煤气的缴费,还包括党费的缴纳等。这里就是一个党建项目涉及到党费缴纳的问题,所以才接入工银e缴费。

应用场景

这里接入的是工银e缴费的页面,根据规则来生成页面链接即可。

签名规则

工银e缴费采用的是RSA验签的形式来进行签名生成的。由于中心接口是Java语言开发,所以涉及到一些加密跟PHP还是有所区别的。

签名的生成

Windows环境
以生成RSA算法为例:
解压SDK包后,进入到bin目录,双击keygen_rsa.bat文件,生成一对RSA公钥和密钥。
Linux环境
以生成RSA算法为例:
解压SDK包后,进入到bin目录,运行 ./keygen_rsa.sh命令,生成一对RSA公钥和密钥。

    $ cd bin
    $ ./keygen_rsa.sh

生成了xxxx.pri(私钥)+xxxx.pub(公钥)

工银e缴费文档

在这里插入图片描述在这里插入图片描述

直接生成
function gotoSign($data,$privateKey){
	$p = openssl_pkey_get_private( $privateKey );
	openssl_sign ( $data, $signature, $p, OPENSSL_ALGO_MD5);
     openssl_free_key ( $p );
     return base64_encode($signature);
}

$a = '';//APP ID第三方应用的ID,由接入方提供
$computeId = 22;//
$areaCode = "0020";
$userId = "第三方应用中的用户ID";
$returnUrl = "URL";//第三方应用回调接口
$pageId = 1;//1是首页 2内页详情
$payitemCode = "";//当pageId为2的情况
$customInfo = "";//
//
$b = "{$computeId},{$areaCode},{$userId},{$returnUrl},{$pageId},{$payitemCode},null";
$t = time() . mt_rand(100,999);
$s = gotoSign($b,file_get_contents(__DIR__ . "/cert/rsa_private_key.pem"));
$b = urlencode($b);
$prefix = "https://gw.open.icbc.com.cn/ui/wapb/payment/V1/entry?";
$url = "A={$a}&B={$b}&T={$t}&S={$s}";
$link = $prefix . $url;

直接访问这个就能进入e缴费页面了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值