这里说下php怎么把json放入body中进行post请求,一般用到的多数为部门支付系统的对接。
代码如下:<?php
header('content-type:application/json');
/*把要传递的数据组装拼接成json*/
$json_data['out_order_id'] = '202010310917001';
$json_data['price'] = 10000;
$json_data['merchant_code'] = 181818;
$json_data['pay_method'] = 'wechat';
$json_data['callback_url'] = 'xxx.com';
$json_data['return_url'] = 'xxx.com';
$json_data['signature'] = $signature;
$json_data = json_encode($json_data);
/*重点部分*/
$header = array('Content-Type: application/json; charset=utf-8','Accept: application/json');
/*header变量中必须有application/json 和utf-8*/
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => $header,
CURLOPT_POSTFIELDS => $json_data
));
$response = curl_exec($ch);
$Json=json_decode($response);
/*取json节点*/
$link = $Json->data->payment_link;
/*输出请求结果*/
var_dump($response); die;
?>
这样就实现了php在post json数据的时候把json放入body中进行请求了。