调用微信模板消息接口,调用成功后显示的数据为一片空白

Ftm122710 2017-05-08 09:10:05
$json_obj = json_decode($result,true);  
$access_token = $json_obj['access_token'];

$openid = M("wei_order")->where("TransactionID = '{$ID}'")->getField("openid");
$format = M("wei_order")->where("TransactionID = '{$ID}'")->getField("format");
$total_fee= M("wei_order")->where("TransactionID = '{$ID}'")->getField("total_fee");
//var_dump($format);exit;
$date = date('Y年m月d日 H:i', time());
$post_data =array(
"touser"=>$openid,
"template_id" => "i1-UbLPFJJH5YxS2rpc7t3wHk9shUsrrXR5nsTxyxtQ",
"url" => "http://weixin.qq.com/download",
"data" =>"{ 'first'=>'value':{{'恭喜您购买成功'.DATA}},'color':'#173177',
'format'=>'value':{{'format'.DATA}},'color':'#173177',
'total_fee'=>'value':{{'total_fee'.DATA}},'color':'#173177',
'date'=>'value':{{'date'.DATA}},'color':'#173177',
'remark'=>'value':{{'欢迎再次购买!'.DATA}},'color':'#173177'}"
);

Log::write($post_data);
$data=json_encode($post_data);
Log::write("json数据".$data);
$c = curl_init();
$uri = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$access_token;
curl_setopt($c,CURLOPT_URL,$uri);
//curl_setopt($c,CURLOPT_HEADER,0);
curl_setopt($c,CURLOPT_RETURNTRANSFER,1);
curl_setopt($c,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($c,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, $data);

$res = curl_exec($c);
Log::write("通知:".$res);


这是代码。结果显示的数据没有替换
...全文
1582 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
王攀腾 2017-09-12
  • 打赏
  • 举报
回复
请问这个问题怎么解决的,我的也有这种情况,其他模板消息发送没问题??很急
Ftm122710 2017-05-09
  • 打赏
  • 举报
回复
引用 2 楼 jam00 的回复:
你的data 格式错了,是 数组
格式如

$post_data = array(
"touser"=>$openid,
"template_id" => "i1-UbLPFJJH5YxS2rpc7t3wHk9shUsrrXR5nsTxyxtQ",
"url" => "http://weixin.qq.com/download",
'data' => array(
'first' => array(
'value' => '恭喜您购买成功',
'color' => '#173177',
),
'keyword1' => array(
'value' => 'xxx商品',
'color' => '#173177',
),
'keyword2' => array(
'value' => '订单号',
'color' => '#173177',
),
'keyword3' => array(
'value' => '156.00元',
'color' => '#173177',
),
'keyword4' => array(
'value' => '2017-05-09 09:40:59',
'color' => '#173177',
),
"remark" => array(
"value" => "感谢您的使用",
"color" => "#173177"
),
),
);

keyword 根据你显示的栏目来


$post_data =array(
"touser"=>$openid,
"template_id" => "i1-UbLPFJJH5YxS2rpc7t3wHk9shUsrrXR5nsTxyxtQ",
"url" => "http://www.yihang88.cn/index.php/record/getcode",
"data" =>array(
'first'=>array('value'=>'恭喜您购买成功','color'=>'#173177'),
'format'=>array('value'=>$format,'color'=>'#173177'),
'total_fee'=>array('value'=>$total_fee,'color'=>'#173177'),
'date'=>array('value'=>$date,'color'=>'#173177'),
'remark'=>array('value'=>'猛戳我查看所有流量充值记录','color'=>'#173177')
)
);

我讲data改成这个样子之后,但是发现前台显示的还是空白。
但是上门的文字还有显示,现在疑惑的是,微信接口文档中的这些是什么意思,是不是我写的不对
果酱很好吃 2017-05-09
  • 打赏
  • 举报
回复
你的data 格式错了,是 数组 格式如

$post_data = array(
	"touser"=>$openid,
	"template_id" => "i1-UbLPFJJH5YxS2rpc7t3wHk9shUsrrXR5nsTxyxtQ",
	"url" => "http://weixin.qq.com/download",
	'data' => array(
		'first' => array(
			'value' => '恭喜您购买成功',
			'color' => '#173177',
		),
		'keyword1' => array(
			'value' => 'xxx商品',
			'color' => '#173177',
		),
		'keyword2' => array(
			'value' => '订单号',
			'color' => '#173177',
		),
		'keyword3' => array(
			'value' => '156.00元',
			'color' => '#173177',
		),
		'keyword4' => array(
			'value' => '2017-05-09 09:40:59',
			'color' => '#173177',
		),
		"remark" => array(
			"value" => "感谢您的使用",
			"color" => "#173177"
		),
	),
);
keyword 根据你显示的栏目来
Ftm122710 2017-05-09
  • 打赏
  • 举报
回复
有没有人可以帮解决一下的

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧