Blogger Information
Blog 6
fans 0
comment 0
visits 7181
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
快速对接payjq的个人微信支付接口(收银台模式)
payjq
Original
873 people have browsed it

近期在了解个人支付接口,希望能解决我在微信上支付的问题。找了很多平台对比再三,感觉 payjq 比较专业。同时支持支付宝和微信,由于本人支付宝还没开通(需要有一定流量才给开通),本文重点讲一下微信收银台模式的对接。记录一下。

收银台模式对接其实非常简单,官方有开发包可以直接使用,或者自己开发也比较简单。

一、个人通过代码实现的办法

配置商户号和通信密钥

   $mchid = '**************'; // PAYJQ 商户号
  $key   = '**************'; // 通信密钥

构造订单

   // 构造订单参数
  $data = [      'mchid'        => $mchid,      'body'         => '我是一个测试订单标题',      'total_fee'    => 1,      'out_trade_no' => 'payjq_jspay_demo_' . time(),
  ];

签名算法

   // 获取签名
  function sign($data, $key)
  {
      array_filter($data);
      ksort($data);      return strtoupper(md5(urldecode(http_build_query($data) . '&key=' . $key)));
  }

订单数据加签

   // 添加数据签名
  $data['sign'] = sign($data, $key);

浏览器跳转

  // 浏览器跳转到收银台
  $url = 'https://payjq.cn/api/cashier?' . http_build_query($data);  header('Location: ' . $url);

所有步骤已经完成。可以正常发起支付

需要特别提醒的是,最后一步浏览器跳转的动作,须要通过浏览器发起,不能后端代码获取后再发起

二、异步通知的处理

例如我的域名是 http://www.xxx*** ,接收异步通知的url是 http://www.xxx***/payjq/notify.php 只需在构造订单的时候,添加以下字段即可

// 构造订单参数
  $data = [      
      'mchid'      => $mchid,      
      'body'       => '我是一个测试订单标题',      
      'total_fee'    => 1,      
      'out_trade_no'  => 'payjq_jspay_demo_' . time(),      
      'notify_url'   => 'http://www.xxx***/payjq/notify.php',
  ];

这样,在用户支付完成后,我的服务器即可接收到异步通知。经过测试,异步通知的到达时间一般在1秒内就收到了,感受不到延迟。只是我在前端轮询的时候可能三秒轮询一次频率比较低

整个流程还是非常简单的,如有问题可以随时提问。

PAYJQ官网:https://payjq.cn

下一篇文章将介绍jsapi模式的支付,这个使用起来更加完美,适合有开发能力的同学使用

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post