支付宝提供的站内转账功能,支付宝为具备开发能力的商户提供了单笔转账到支付宝账户产品,这样就可以实现用户自助提现功能的开发。如果之前开发过支付宝支付接口,那开发本接口相对来说应该没有什么难度,数据格式和签名算法都没有任何改变,只需要改变一下参数就可以了,如果没有开发过支付宝支付接口可以观看本站支付...
  首先说一下微信支付已上线企业付款至银行卡功能。商户可以将商户号余额付款至指定的收款银行账户。通过指定收款银行账户户名、卡号,以及收款银行信息即可实现付款。但是功能目前为灰度开放,已灰度新资金流直连普通商户及普通受理模式子商户,其他商户类型将在后续开放。也就是说目前并不是所有商户都有此权限,所以在...
  微信企业付款到零钱的功能即企业从微信商户平台转账到普通用户的微信零钱账户,可以实现用户提现或者企业转账的功能。开通也比较简单只需要进入商户平台,产品中心进行开通就可以了,开通后是如下界面。下面说一下接口的调用方式,其实还是构建对应规则的数据,加上签名,转换为xml最后发送到接口,关于《数组和xm...
  在生产环境的业务中经常用到支付接口,而支付体系下的微信支付和支付宝支付是比较常用的,但是有支付就会有退款,这里再讲一下支付宝退款和微信退款接口的实现方式。如果支付功能已经开发完毕那再开发退款接口的话就比较容易了,因为支付的算法和退款的一些签名算法都是一致的可以公用,下面分别针对微信和支付宝(新版...
  因为系统业务需求往往会同时申请一个或多个公众平台(公众号)和一个开放平台,公众号可以实现微信支付、微信网页内授权,开放平台可以实现微信PC网页授权、PC浏览器网页登录等功能,但是如何基于多个公众平台和一个开放平台识别用户的唯一性统一性呢?其实这也是可以做到的,首先需要在开放平台内绑定公众号,这样...
  在使用PHP请求某些接口的时候通常会使用到CURL的方式,不管是http还是https都是支持的,如果请求https遇到的问题可能比较多一点,可参考《PHP使用curl请求https站点的常见错误及解决方案》,另外有些接口可能会要求携带证书请求接口,例如微信支付的某些接口需要使用证书来请求,那如...
  在调用微信接口的时候无论是支付还是现金红包等等接口都会用到接口的加密和校验,微信的很多数据签名和调用规则其实都是一样的,首先构建原始数据,然后根据规则去除空值和签名方式(如果与的话),接下来案子点排序后转换为URL格式的字符串,拼接上加密的key,然后生成签名。接下来就是按照规则调用接口了,这里...
  在很多场景下我们需要用户在微信内打开网页时获取用户的openid并做对应的业务处理,因为openid对同一个公众号是唯一的,所以可以根据openid实现诸如投票,抽奖,注册等等的业务,那么如何获取用户的openid呢,根据微信官方提供的网页授权接口可以分为两种情况,一种是只获取用户的openid...
  提起支付宝支付接口其实核心的还是电脑网站支付,其他的不论是手机网站支付还是手机扫码支付,还是网页唤醒支付宝APP支付都可以在电脑网站支付的基础上“改良”出来。下面以电脑支付接口为基准对比一下支付宝新版和老版接口在PC和手机上的请求参数差异。  支付宝电脑网站支付与手机网站...
  在开发过程中经常遇到根据不同的设备显示不同的数据或者在页面样式上做不同的布局,另外在做支付接口的时候也可能会判断当前是什么设备访问,例如判断如果是微信内置浏览器访问则只启用微信支付功能,如果是支付宝内置浏览器访问也是类似的处理方式,那么如何判断当前访问的设备呢,通常使用的方式是通过请求头信息中的...
  这里所说的二码合一指的是不管是支付宝和微信扫描的是同一个二维码来完成整个支付的过程,并且是通过调用支付接口来实现的,不同于使用PS将微信支付宝二维码合成一张图片。有时我们在某些门店扫码结账时可能遇到店家只有一个二维码不管使用微信还是支付宝都能扫,这里讲的就是这种方案的实现方式。其实二码合一可以延...
  在调试微信公众号支付时遇到了一个比较诡异的问题,在安卓手机上完全正常,但是同样的代码在苹果设备上就不行,iphone和ipad都测试过也是报同样的错误调用JSAPI缺少参数:timeStamp。开始打印了一下数据发现生成的json数据中是有时间戳这个参数的,但是为什么在IOS上就不行呢。规则完全...
  市面上的NoSQL数据库已经很多了,SSDB也是其中的一份子,和Redis的安装使用都非常接近。但是存储机制依赖于硬盘,因此支持的存储数据量非常大,某些情况下速度可能比Redis要差一些。官方有和Redis的对比测试,这个可以作为参考,和实际的应用场景有关系。下面说一下安装方式。#首先下载源码包...
  关于icomet的安装及使用方式可以阅读前面几篇博文,有了前面的基础再来实现一对一或者群聊就比较容易了,关键是如何设计。在实现的基础上还要保证信息实时送达,保证信息安全。  首先说一下一对一聊天,每一个用户有自己的独立通道(频道)和token(icomet生成),并且用户只接收自己通道(频道)的...
  在《icomet消息推送原理与常用指令》这篇文章中介绍了icomet的消息推送实现方式但是未涉及到安全认证,本文会介绍token认证的实现方式。首先需要在配置文件icomet.conf中开启token认证(将auth项由none修改为token),修改为如下配置:......front: ...
  在《即时通讯消息服务器icomet在Linux下的安装》这篇文章中已经介绍了icomet的安装方式,本文介绍一下即时通信实现的原理和常用的指令。首先看一下icomet的工作时序图。下面说一下常用的一些指令:在订阅方面支持SSE(Server Sent Event)代码格式如下:<scrip...
  iComet 是C++ 编写的高性能即时通讯服务器,支持百万并发,可用于多人聊天、一对一实时聊天,支持token权限认证,安全性很高。 支持移动或web应用,多浏览器和操作系统平台。本文以Linux的发行版CentOS7作为安装的服务器讲解安装过程,其他版本也是类似的。github地址是http...
  上一篇博文已经使用程序实现了聊天功能,但是数据无法持久化,本文介绍一下数据持久化的实现思路。其实数据的持久化和消息服务器或者使用的协议都没有关系,属于应用层方面的事情。  实现思路主要有两点,即数据的存储于数据的读取。在数据存储方面,可以使用关系型或者非关系型数据库,可以保存频道和内容,接收到客...
  在《使用nginx-push-stream-module构建在线聊天室(一)》这篇文章中已经介绍了nginx-push-stream-module插件的安装,本文中介绍一下如何通过程序来实现聊天功能。   其实实现聊天功能一个是客户单代码另外是服务器端的代码,关于客户端的程序在安装源文件中也有...
  在线聊天的实现方案有很多,像Ajax长短轮循、富客户端、HTTP长连接、HTML5的event source和websocket等。目前来看HTML5的websocket比较具有优势,对于不支持H5的浏览器可以忽略或者采用兼容的形式来实现。接下来提到的nginx-push-stream-modu...