支付后发模板消息

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

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

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

  1. // 发送模板消息给用户
  2. $url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' . get_access_token ();
  3. $param ['touser'] = $res_data ['openid'];
  4. $param ['template_id'] = '-ekG5kJ-8x7OkTxd1shG-5-y90q8El5vj0DKVGwTZ9o';
  5. $param ['form_id'] = $order ['prepay_id'];
  6. $p = unserialize ( $order ['param'] );
  7. $param ['data'] = [
  8. 'keyword1' => [
  9. 'value' => $res_data ['out_trade_no'],
  10. 'color' => '#173177'
  11. ],
  12. 'keyword2' => [
  13. 'value' => $res_data ['total_fee'],
  14. 'color' => '#173177'
  15. ],
  16. 'keyword3' => [
  17. 'value' => $res_data ['time_end'],
  18. 'color' => '#173177'
  19. ],
  20. 'keyword4' => [
  21. 'value' => $p ['body'],
  22. 'color' => '#173177'
  23. ],
  24. 'keyword5' => [
  25. 'value' => '已完成支付',
  26. 'color' => '#173177'
  27. ],
  28. 'keyword6' => [
  29. 'value' => '微信支付',
  30. 'color' => '#173177'
  31. ]
  32. ];
  33. post_data ( $url, $param );
注意:支付发出的模板消息在开发者工具上调试是发不出的,但在手机上预览下支付才能正常。并且模板消息会在一个叫服务通知里显示