php 对接建行支付接口httpsyunbusinessccbcomclp_ordertxCtrlserver php 代码完整实现
以下是一个PHP对接建行支付接口的代码示例:
<?php
// 生成签名
function generateSign($params, $key)
{
ksort($params);
$signString = '';
foreach ($params as $key => $value) {
if ($value !== '' && $key !== 'sign') {
$signString .= $key . '=' . $value . '&';
}
}
$signString .= 'KEY=' . $key;
return strtoupper(md5($signString));
}
// 构建请求参数
$params = array(
'MERCHANTID' => '商户号',
'POSID' => '柜台号',
'BRANCHID' => '分行号',
'ORDERID' => '订单号',
'PAYMENT' => '支付金额',
'CURCODE' => '币种',
'REMARK1' => '备注1',
'REMARK2' => '备注2',
'TXCODE' => '530550', // 交易码
'TYPE' => '1',
'PUB' => '', // 公钥
'GATEWAY' => '0',
'CLIENTIP' => $_SERVER['REMOTE_ADDR'],
'REGINFO' => '',
'PROINFO' => '',
'REFERER' => '',
'MAC' => '',
);
// 生成签名
$key = '商户密钥';
$params['MAC'] = generateSign($params, $key);
// 发送请求
$url = 'https://yunbusiness.ccb.com/clp_order/txCtrl/server.php';
$response = httpPost($url, $params);
// 解析响应
parse_str($response, $responseData);
// 处理响应结果
if ($responseData['SUCCESS'] === 'Y') {
// 支付成功
// 处理支付成功逻辑
} else {
// 支付失败
// 处理支付失败逻辑
}
// 发送HTTP POST请求
function httpPost($url, $data)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
请注意,上述代码中的参数需要根据实际情况进行填写,并且该代码仅供参考,实际使用时可能需要根据具体的支付接口文档进行调整
原文地址: https://www.cveoy.top/t/topic/iZCK 著作权归作者所有。请勿转载和采集!