//这部分获取订单信息
$order_no="2019122100395044813";
$order=$this->getOrderInfo($order_no);
//計算出訂單總金額
$amount=intval($order['order_price'])+intval($order["deliver_price"]);
//这部分开始设置POST参数
$list=array();
$list['id']=1;
$list['amount']=$amount;
$list['products']=array();
$orderDetailTemp=$order['temp'];
for($i=0;$i<count($orderDetailTemp);$i++){
$item=array();
$item['id']=$orderDetailTemp[$i]['subclass_tips'].$orderDetailTemp[$i]['item_no'];
$item['name']="精選商品-".$orderDetailTemp[$i]['subclass_tips'].$orderDetailTemp[$i]['item_no'];
$item['quantity']=$orderDetailTemp[$i]['num'];
$item['price']=$orderDetailTemp[$i]['product_price'];
array_push($list['products'],$item);
}
unset($data);
$data['amount']=$amount;
$data['currency']="TWD";
$data['orderId']=$order['order_no']."-".rand(10,99);
//这里需要注意packages 也是二维数组
$data['packages'][]=$list;
//array_push($data['packages',$list);
$data['redirectUrls']=array(
"confirmUrl"=>"用户确认付款后,回传页面URL",
"cancelUrl"=>"用户取消付款后,回传页面URL"
);
$jsonData=json_encode($data);
$apiUrl="/v3/payments/request";
//生成UUID 唯一标识
$nonce= $this->uuid();
$channelSecret=$this->channel_secretKey;
$hash_hmac_string=$channelSecret.$apiUrl.$jsonData.$nonce;
//生成簽章
$signature=base64_encode(hash_hmac("sha256",utf8_encode($hash_hmac_string) , utf8_encode($channelSecret), true));
//设定header信息
$header=array(
"Content-Type:application/json",
"X-LINE-ChannelId:".$this->channel_id,
"X-LINE-Authorization-Nonce:".$nonce,
'X-LINE-Authorization:'.$signature
);
$url=$this->pathUrl.$apiUrl;
//初始化CURL
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER,0);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
//curl_setopt ($curl, CURLOPT_CUSTOMREQUEST, "put");
curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonData);//设置提交的字符串
//执行命令
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
//生成唯一標識
public function uuid()
{
$chars = md5(uniqid(mt_rand(), true));
$uuid = substr ( $chars, 0, 8 ) . '-'
. substr ( $chars, 8, 4 ) . '-'
. substr ( $chars, 12, 4 ) . '-'
. substr ( $chars, 16, 4 ) . '-'
. substr ( $chars, 20, 12 );
return $uuid ;
}
PHP语言下面介接LINE_PAY
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。