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

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

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

  • 配置商户号和通信密钥

    1. $mchid = '**************'; // PAYJS 商户号
    2. $key = '**************'; // 通信密钥
  • 构造订单

    1. // 构造订单参数
    2. $data = [
    3. 'mchid' => $mchid,
    4. 'body' => '我是一个测试订单标题',
    5. 'total_fee' => 1,
    6. 'out_trade_no' => 'payjs_jspay_demo_' . time(),
    7. ];
  • 签名算法

    1. // 获取签名
    2. function sign($data, $key)
    3. {
    4. array_filter($data);
    5. ksort($data);
    6. return strtoupper(md5(urldecode(http_build_query($data) . '&key=' . $key)));
    7. }
  • 订单数据加签

    1. // 添加数据签名
    2. $data['sign'] = sign($data, $key);
  • 浏览器跳转

    1. // 浏览器跳转到收银台
    2. $url = 'https://payjs.cn/api/cashier?' . http_build_query($data);
    3. header('Location: ' . $url);
  • 所有步骤已经完成。可以正常发起支付。

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

二、异步通知的处理

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

    1. // 构造订单参数
    2. $data = [
    3. 'mchid' => $mchid,
    4. 'body' => '我是一个测试订单标题',
    5. 'total_fee' => 1,
    6. 'out_trade_no' => 'payjs_jspay_demo_' . time(),
    7. 'notify_url' => 'http://www.abc.com/payjs/notify.php',
    8. ];
  • 这样,在用户支付完成后,我的服务器即可接收到异步通知。经过测试,异步通知的到达时间一般在1秒内就收到了,感受不到延迟。只是我在前端轮询的时候可能三秒轮询一次频率比较低

整个流程还是非常简单的,如有问题可以随时提问。这是我的邀请链接        payjs官网     ,通过此链接开通有专属1万豆豆奖励

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

快速对接payjs的个人支付接口(收银台模式)的更多相关文章

  1. 如何对接payjs的个人微信扫码支付接口

    在众多个人支付接口的产品中,要寻找一个稳定可靠的产品是比较难的,所幸遇到payjs,感觉逼格较高,非常满足自己的品味.推荐大家使用.下边是我在对接payjs的过程中的一些经验和技巧,分享给大家. 一. ...

  2. 【网站国际化必备】Asp.Net MVC 集成Paypal(贝宝)快速结账 支付接口 ,附源码demo

    开篇先给大家讲段历史故事,博主是湖北襄阳人.襄阳物华天宝,人杰地灵,曾用名襄樊.在2800多年的历史文化中出现了一代名相诸葛亮(卧龙),三国名士庞统(凤雏),魏晋隐士司马徽(水镜先生),唐代大诗人孟浩 ...

  3. Discuz!快速对接个人支付插件

    ## Discuz!快速对接个人支付插件 由于近期准备使用老牌论坛程序Discuz建立一个交流社区分享一些资源,但是测试了各种支付方式都不满意,偶然发现一个简直不要太完美的解决方案.今天抽时间搭建好并 ...

  4. 对接第三方支付接口-获取http中的返回参数

    这几天对接第三方支付接口,在回调通知里获取返回参数,有一家返回的json格式,请求参数可以从标准输入流中获取. //1.解析参数 , 读取请求内容 BufferedReader br; String ...

  5. 玩蛇记之用python实现易宝快速支付接口

    玩蛇记之用python实现易宝快速支付接口 现在很多这种快速支付的通道,易宝支持的通道算是很全面的,正好最近需要集成易宝的支付通道到平台中,所以写一贴来记录一下,顺便鄙视一下国内的支付平台,api的支 ...

  6. Django对接支付宝Alipay支付接口

    最新博客更新见我的个人主页: https://xzajyjs.cn 我们在使用Django构建网站时常需要对接第三方支付平台的支付接口,这里就以支付宝为例(其他平台大同小异),使用支付宝开放平台的沙箱 ...

  7. XorPay 个人支付平台增加 个人支付宝支付接口

      XorPay 今天新增 个人支付宝当面付 接口,欢迎大家使用. 「 XorPay 支付平台」 已经同时支持 个人微信支付接口 和 个人支付宝接口. 个人可用的 支付宝/微信支付 接口,支持 当面付 ...

  8. 【Java EE 学习 21 下】【 使用易宝支付接口实现java网上支付功能】

    一.网上支付分为两种情况,一种方法是使用直接和银行的支付接口,另外一种方法是使用第三方支付平台和银行对接完成支付. 1.直接和银行对接. 2.使用第三方支付平台 3.常见的第三方支付平台 二.使用易宝 ...

  9. php对接微信小程序支付

    前言:这里我就假装你已经注册了微信小程序,并且基本的配置都已经好了.注: 个人注册小程序不支持微信支付,所以我还是假装你是企业或者个体工商户的微信小程序,其他的商户号注册,二者绑定,授权,支付开通,就 ...

随机推荐

  1. rule-based optimizer cost-based optimizer

    SQL processing uses the following main components to execute a SQL query: The Parser checks both syn ...

  2. MongoDB 数据库、集合创建删除与文档插入

    本文章主要介绍mongodb的基本命令,前提条件,你的本地已经安装了mongo. 一.基本命令使用(主要是创建,增删改.) 0.mongoDb统计信息 获得关于MongoDB的服务器统计,需要在Mon ...

  3. 20170316 REUSE_alv_display_lvc 面向对象函数

    **将ALV显示数据更新进输出内表中  DATA: LR_GRID TYPE  REF TO CL_GUI_ALV_GRID.  CALL FUNCTION 'GET_GLOBALS_FROM_SLV ...

  4. 【C++基础学习】成员对象与对象数组

    第一部分 对象成员与对象数组 从一个简单的例子开始说起,首先定义一个Coordinate的类,里面有两个公有的成员变量m_iX和m_iY,分别代表横坐标和纵坐标. 接下来,定义一个对象数组cood和一 ...

  5. poj3349 Snowflake Snow Snowflakes —— 哈希表

    题目链接:http://poj.org/problem?id=3349 题意:雪花有6个瓣,有n个雪花,输入每个雪花的瓣长,判断是否有一模一样的雪花(通过旋转或翻转最终一样,即瓣长对应相等).如果前面 ...

  6. AutoItLibrary安装和常见问题解决

    http://blog.csdn.net/bible_reader/article/details/52044345

  7. ansible-playbook初始化服务器

    hosts ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [test] 0.0.0.0 ansible_ssh_us ...

  8. hadoop 添加,删除节点

    http://www.cnblogs.com/tommyli/p/3418273.html

  9. C++中map容器的说明和使用技巧

    C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值. 一.map的说明 1 头文件 #include <map> 2 定义 ma ...

  10. bzoj 2600 ricehub

    2600: [Ioi2011]ricehub Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 783  Solved: 417[Submit][Stat ...