php语言 对接建行商户下单支付接口 httpsyunbusinessccbcomclp_ordertxCtrlserver php 代码完整示例
以下是一个使用PHP语言对接建行商户下单支付接口的代码示例:
<?php
// 商户号
$merId = 'YourMerchantId';
// 商户柜台代码
$posId = 'YourPosId';
// 分行代码
$branchId = 'YourBranchId';
// 订单号
$orderId = 'YourOrderId';
// 订单金额(单位:分)
$orderAmount = '100';
// 币种
$currency = '01';
// 交易码
$txCode = '530550';
// 版本号
$version = '5.0.0';
// 接入类型
$accessType = '0';
// 商户接收支付结果通知地址
$backUrl = 'YourNotifyUrl';
// 签名方法
$signMethod = 'MD5';
// 加密方法
$encryptMethod = 'RSA';
// 业务类型
$bizType = '000202';
// 商品信息
$goodsName = 'YourGoodsName';
// 商品数量
$goodsNum = '1';
// 用户IP
$clientIp = 'YourClientIp';
// 订单超时时间
$orderTimeout = '30';
// 请求参数
$params = array(
'MERCHANTID' => $merId,
'POSID' => $posId,
'BRANCHID' => $branchId,
'ORDERID' => $orderId,
'PAYMENT' => $orderAmount,
'CURCODE' => $currency,
'TXCODE' => $txCode,
'REMARK1' => '',
'REMARK2' => '',
'TYPE' => $accessType,
'PUB' => '',
'GATEWAY' => '',
'CLIENTIP' => $clientIp,
'REGINFO' => '',
'PROINFO' => '',
'REFERER' => '',
'TIMEOUT' => $orderTimeout,
'PROTYPE' => '',
'PROCHNL' => '',
'SIGNMETHOD' => $signMethod,
'SIGN' => '',
'SIGNCERT' => '',
'ENCRYPTTYPE' => $encryptMethod,
'ENCRYPTCERT' => '',
'BIZTYPE' => $bizType,
'CUSTOMERID' => '',
'GOODSNAME' => $goodsName,
'GOODSNUM' => $goodsNum,
'CARRIAGEAMT' => '',
'INSUREAMT' => '',
'CURRENCYCODE' => '',
'INSTALLNUM' => '',
'CHECKVALUE' => '',
'CHECKTYPE' => '',
'CHECKABVALUE' => '',
'ORDERURL' => '',
'ORDERURLOVERRIDE' => '',
'ORDEREXPIRYTIME' => '',
'TIME' => '',
'MAC' => '',
'PROXY' => '',
'PROXY_URL' => '',
'PROXY_STYLE' => '',
'PROXY_STYLE_CODE' => '',
'CHECKSTATUS' => '',
'CHECKREF' => '',
'PUB32' => '',
'KEYID' => '',
'TXINFO' => '',
'CUSTINFO' => '',
'SUBMERCHANTID' => '',
'SUBMERCHANTPWD' => '',
'SUBMERCHANTNAME' => '',
'SUBMERCHANTSHORTNAME' => '',
'SUBMERCHANTINDUSTRY' => '',
'SUBMERCHANTDOMAIN' => '',
'SUBMERCHANTADDRESS' => '',
'SUBMERCHANTCONTACT' => '',
'SUBMERCHANTTEL' => '',
'SUBMERCHANTEMAIL' => '',
'SUBMERCHANTREMARK1' => '',
'SUBMERCHANTREMARK2' => '',
'AUTH' => '',
'USERID' => '',
'USERPWD' => '',
'USERNAME' => '',
'USERIP' => '',
'TRADECODE' => '',
'TRADEINFO' => '',
'SPECIAL' => '',
'SPECIALINFO' => '',
'RESERVED01' => '',
'RESERVED02' => '',
'RESERVED03' => '',
'RESERVED04' => '',
'RESERVED05' => '',
'RESERVED06' => '',
'RESERVED07' => '',
'RESERVED08' => '',
'RESERVED09' => '',
'RESERVED10' => '',
'RESERVED11' => '',
'RESERVED12' => '',
'RESERVED13' => '',
'RESERVED14' => '',
'RESERVED15' => '',
'RESERVED16' => '',
'RESERVED17' => '',
'RESERVED18' => '',
'RESERVED19' => '',
'RESERVED20' => '',
'RESERVED21' => '',
'RESERVED22' => '',
'RESERVED23' => '',
'RESERVED24' => '',
'RESERVED25' => '',
'RESERVED26' => '',
'RESERVED27' => '',
'RESERVED28' => '',
'RESERVED29' => '',
'RESERVED30' => '',
'RESERVED31' => '',
'RESERVED32' => '',
'RESERVED33' => '',
'RESERVED34' => '',
'RESERVED35' => '',
'RESERVED36' => '',
'RESERVED37' => '',
'RESERVED38' => '',
'RESERVED39' => '',
'RESERVED40' => '',
'RESERVED41' => '',
'RESERVED42' => '',
'RESERVED43' => '',
'RESERVED44' => '',
'RESERVED45' => '',
'RESERVED46' => '',
'RESERVED47' => '',
'RESERVED48' => '',
'RESERVED49' => '',
'RESERVED50' => '',
'RESERVED51' => '',
'RESERVED52' => '',
'RESERVED53' => '',
'RESERVED54' => '',
'RESERVED55' => '',
'RESERVED56' => '',
'RESERVED57' => '',
'RESERVED58' => '',
'RESERVED59' => '',
'RESERVED60' => '',
'RESERVED61' => '',
'RESERVED62' => '',
'RESERVED63' => '',
'RESERVED64' => '',
'RESERVED65' => '',
'RESERVED66' => '',
'RESERVED67' => '',
'RESERVED68' => '',
'RESERVED69' => '',
'RESERVED70' => '',
'RESERVED71' => '',
'RESERVED72' => '',
'RESERVED73' => '',
'RESERVED74' => '',
'RESERVED75' => '',
'RESERVED76' => '',
'RESERVED77' => '',
'RESERVED78' => '',
'RESERVED79' => '',
'RESERVED80' => '',
'RESERVED81' => '',
'RESERVED82' => '',
'RESERVED83' => '',
'RESERVED84' => '',
'RESERVED85' => '',
'RESERVED86' => '',
'RESERVED87' => '',
'RESERVED88' => '',
'RESERVED89' => '',
'RESERVED90' => '',
'RESERVED91' => '',
'RESERVED92' => '',
'RESERVED93' => '',
'RESERVED94' => '',
'RESERVED95' => '',
'RESERVED96' => '',
'RESERVED97' => '',
'RESERVED98' => '',
'RESERVED99' => '',
'RESERVED100' => ''
);
// 对请求参数进行签名
$signData = signParams($params);
$params['SIGN'] = $signData;
// 发送请求
$response = sendRequest('https://yunbusiness.ccb.com/clp_order/txCtrl/server.php', $params);
// 处理响应
echo $response;
/**
* 对请求参数进行签名
* @param array $params 请求参数
* @return string 签名数据
*/
function signParams($params) {
$strToSign = '';
foreach ($params as $key => $value) {
if ($value !== '') {
$strToSign .= $key . '=' . $value . '&';
}
}
$strToSign = substr($strToSign, 0, -1);
// TODO: 根据实际需求进行签名操作,这里只是示例,需要使用商户私钥进行签名
return $strToSign;
}
/**
* 发送HTTP请求
* @param string $url 请求URL
* @param array $params 请求参数
* @return string 响应数据
*/
function sendRequest($url, $params) {
$postData = http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
请注意,上述代码只是一个示例,其中的签名逻辑和发送请求的代码需要根据实际情况进行修改。另外,还需要根据建行商户下单支付接口的具体参数要求,将示例代码中的YourMerchantId、YourPosId、YourBranchId、YourOrderId、YourNotifyUrl、YourGoodsName、YourClientIp等字段替换为实际的值
原文地址: http://www.cveoy.top/t/topic/iZDy 著作权归作者所有。请勿转载和采集!