用户在支付完成后,可在 异步接收支付结果 处加上消息模板

接上一章小程序支付部分,由于指定异步接收结果的参数是:Home/Service/payok,因此方法在 Application/Home/Model/ServiceModel.class.php文件的payok方法里

我们在后端的payok的PHP方法里加上模板消息。其中模板ID参数(template_id)就是我们上一节 消息模板配置 里增加的模板ID,而data里的keyword参数个数需要与您配置的模板里的参数一一对应。

		// 发送模板消息给用户
		$url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' . get_access_token ();
		$param ['touser'] = $res_data ['openid'];
		$param ['template_id'] = '-ekG5kJ-8x7OkTxd1shG-5-y90q8El5vj0DKVGwTZ9o';
		$param ['form_id'] = $order ['prepay_id'];
		
		$p = unserialize ( $order ['param'] );
		
		$param ['data'] = [ 
				'keyword1' => [ 
						'value' => $res_data ['out_trade_no'],
						'color' => '#173177' 
				],
				'keyword2' => [ 
						'value' => $res_data ['total_fee'],
						'color' => '#173177' 
				],
				'keyword3' => [ 
						'value' => $res_data ['time_end'],
						'color' => '#173177' 
				],
				'keyword4' => [ 
						'value' => $p ['body'],
						'color' => '#173177' 
				],
				'keyword5' => [ 
						'value' => '已完成支付',
						'color' => '#173177' 
				],
				'keyword6' => [ 
						'value' => '微信支付',
						'color' => '#173177' 
				] 
		];
		
		post_data ( $url, $param );

注意:支付发出的模板消息在开发者工具上调试是发不出的,但在手机上预览下支付才能正常。并且模板消息会在一个叫服务通知里显示