php调用工行的线上POS工银E支付H5消费下单的代码
时间: 2024-02-11 14:08:07 浏览: 142
以下是一个基本的 PHP 代码示例,可以用来调用工银 E 支付 H5 消费下单 API:
```php
<?php
// 定义接口地址
$url = "https://b2copen.gomefinance.com.cn/pay/payGateway";
// 定义商户号和密钥
$merId = "YOUR_MER_ID";
$merKey = "YOUR_MER_KEY";
// 定义订单信息
$orderId = "YOUR_ORDER_ID"; // 订单号
$orderAmt = "YOUR_ORDER_AMOUNT"; // 订单金额,单位为分
$orderDesc = "YOUR_ORDER_DESCRIPTION"; // 订单描述
// 生成请求参数
$params = array(
"service" => "pay.weixin.jspay",
"version" => "1.0",
"charset" => "UTF-8",
"sign_type" => "MD5",
"mch_id" => $merId,
"out_trade_no" => $orderId,
"device_info" => "WEB",
"body" => $orderDesc,
"total_fee" => $orderAmt,
"spbill_create_ip" => $_SERVER['REMOTE_ADDR'],
"notify_url" => "YOUR_NOTIFY_URL",
"trade_type" => "JSAPI",
"openid" => "YOUR_OPENID",
);
// 生成签名
ksort($params);
$str = "";
foreach ($params as $key => $value) {
if (!empty($value)) {
$str .= $key . "=" . $value . "&";
}
}
$str .= "key=" . $merKey;
$params["sign"] = strtoupper(md5($str));
// 发送请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
// 解析响应
$xml = simplexml_load_string($result);
if ($xml->return_code == "SUCCESS" && $xml->result_code == "SUCCESS") {
// 调用成功,获取支付链接
$payUrl = $xml->code_url;
// TODO: 将支付链接返回给前端,让用户扫码支付
} else {
// 调用失败,处理错误信息
$errMsg = $xml->return_msg;
// TODO: 处理错误信息
}
?>
```
需要注意的是,上述代码中的 `$merId` 和 `$merKey` 分别是你在工银 E 支付平台上注册的商户号和密钥。另外,`$orderId`、`$orderAmt` 和 `$orderDesc` 分别是你要发起支付的订单号、订单金额和订单描述。最后,`$payUrl` 是你要返回给前端的支付链接,让用户扫码支付。
阅读全文