• 支付后发模板消息

    支付后发模板消息

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

    接上一章小程序支付部分,由于指定异步接收结果的参数是: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 );
    注意:支付发出的模板消息在开发者工具上调试是发不出的,但在手机上预览下支付才能正常。并且模板消息会在一个叫服务通知里显示