php对接建行生活app的支付接口代码示例
以下是PHP对接建行生活App支付接口的代码示例:
<?php
// 建行生活App支付接口请求地址
$url = 'https://openapi.ccb.com/CCBIS/ccbMain';
// 构建请求数据
$data = array(
'MERCHANTID' => '商户号',
'POSID' => '柜台号',
'BRANCHID' => '分行号',
'ORDERID' => '订单号',
'PAYMENT' => '支付金额',
'CURCODE' => '币种',
'TXCODE' => '530550', // 支付接口代码
'REMARK1' => '备注1',
'REMARK2' => '备注2',
'TYPE' => '1',
'PUB' => '公钥',
'GATEWAY' => '',
'CLIENTIP' => $_SERVER['REMOTE_ADDR'],
);
// 生成签名
$data['MAC'] = generateSign($data);
// 发送请求
$response = sendRequest($url, $data);
// 解析响应
$result = parseResponse($response);
// 处理响应结果
if ($result['SUCCESS'] == 'Y') {
// 支付成功
echo '支付成功';
} else {
// 支付失败
echo '支付失败';
}
/**
* 生成签名
* @param array $data 请求数据
* @return string 签名结果
*/
function generateSign($data)
{
// 按照字典序排序
ksort($data);
// 拼接待签名字符串
$signStr = '';
foreach ($data as $key => $value) {
$signStr .= $key . '=' . $value . '&';
}
// 私钥加密
$privateKey = '私钥';
openssl_sign(trim($signStr, '&'), $signature, $privateKey, OPENSSL_ALGO_MD5);
// base64编码
return base64_encode($signature);
}
/**
* 发送请求
* @param string $url 请求地址
* @param array $data 请求数据
* @return string 响应结果
*/
function sendRequest($url, $data)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
/**
* 解析响应
* @param string $response 响应结果
* @return array 解析后的响应数据
*/
function parseResponse($response)
{
$result = array();
$response = urldecode($response);
parse_str($response, $result);
return $result;
}
?>
注意替换代码中的占位符(例如商户号、柜台号、分行号、订单号、支付金额、币种、公钥、私钥等)为实际的值。此示例代码中使用了openssl扩展来生成签名,确保已启用该扩展模块。另外,请根据实际情况调整请求地址($url)和接口代码($data['TXCODE'])
原文地址: http://www.cveoy.top/t/topic/i0pY 著作权归作者所有。请勿转载和采集!