VFP搞定支付你要懂的一些知识,知道才能做到

 吹嘘编程语言牛逼的人,通常是语言本身牛逼,而不是这个人牛逼。无论何时,语言只是一个工具。——加菲猫

最近有朋友在咨询VFP能不能支付的问题,支付VFP必须有啊,猫猫已经都把组件都做好了,开户之后,就可以直接对接上去了。

下面就来演示一下咯。时长00:55

01—官方支付和聚合支付

官方支付

就是去微信的公司开的户,就是微信官方,支付宝开了就是支付宝官方. 

缺点:费率高,要对公账户

聚合支付

就是聚合了微信支付、支付宝支付、百度钱包支付、银联等支付方式为一体多种支付方式,提供给商家进行收款。可以收到个人。

市面有很多公司可以提供这种方法,像我合作的点点够就是银联的聚合支付.

02—支付产品的类型

图片

付款码支付

付款码支付是指用户展示微信钱包内的“付款码”给商户系统扫描后直接完成支付,适用于线下场所面对面收银的场景,例如商超、便利店、餐饮、医院、学校、电影院和旅游景区等具有明确经营地址的实体场所。

JSAPI支付

JSAPI支付是指商户通过调用微信支付提供的JSAPI接口,在支付场景中调e用微信支付模块完成收款。JSAPI支付需要在公众号内发起支付

应用场景有:

线下场所:调用接口生成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付

公众号场景:用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付

PC网站场景:在网站中展示二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付

H5支付

H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。主要用于触屏版的手机浏览器请求微信支付的场景。可以方便的从外部浏览器唤起微信支付。

Native支付

Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。

该模式适用于PC网站、实体店单品或订单、媒体广告支付等场景。 

小程序支付

小程序支付是指商户通过调用微信支付小程序支付接口,在微信小程序平台内实现支付功能;用户打开商家助手小程序下单,输入支付密码并完成支付后,返回商家小程序
 

03—小程序支付的流程

图片

04—关键代码

1.微信小程序发起支付 

要发送openid,商品名称,金额到后台API

wx.request({url: app.globalData.serverurl + 'ctl_pay.fsp?proc=unifiedorder2&token='+token,..})

2.VFP程序 webapi接收,准备各项支付参数

将上文收到的三个参数,加上订单号调用支付函数oweixinPay=Newobject("Qiyupay_unionpay","Qiyupay_unionpay.prg")*--三个支付相关参数不要错oweixinPay.appid=""oweixinPay.unionpayid=""oweixinPay.unionPayKey=""&&回调要设置oweixinPay.notify_url=""&&订单号,说明,金额,openidcJson=oweixinPay.unionpay_Wxpay(cout_trade_no,cattach,ntotal_fee,copenid)If Isnull(cJson)  &&出错抛错  Error oweixinPay.msgEndifReturn cJson

3 返回的JSON结构是

{timeStamp:””,nonceStr:””,package:””,signType:””,paySign:””}

4 根据上面的JSON结构,就可以拉起支付了。

wx.requestPayment({  timeStamp: obj.timeStamp,  nonceStr: obj.nonceStr,  package: obj.package,  signType: obj.signType,  paySign: obj.paySign,  success: function (res) {  console.log(res);  wx.hideLoading();//跳转页面}, fail: function (res) {  wx.hideLoading();  console.log(res);}})

5 获取支付结果

  主要有两种方式,一种是主动查询,在支付完成之后,实际账款有没有到账,是不知道的,一般一到三秒后,需要调用主动查询接口,看账款到账吗?到账就进行下一步流程。

  后台通知,如果款项到了你的账户,支付服务器会调用你先前给的回调网址,发送数据。

  这两种要根据到账,未到账处理业务流程,既要关注正常流程,也要关注异常流程。

6 支付服务器回调过来的数据

图片

重要的订单号,金额等记录,接收到数据,就要进入业务流程。

我这里提供一个模板,可以参考实现。

Define Class ctl_notice_ht As Session    *-- 用于支付回调  Procedure onDefault          cData=HttpGetPostData()      lcresult_code=this.getXmlContent("result_code",cData)      lctotal_fee=this.getXmlContent("total_fee",cData)      lcout_trade_no=this.getXmlContent("out_trade_no",cData)        *首先去重,订单标志回写成功,处理业务逻辑                      RETURN ""  Endproc    Function getXmlContent(cName ,cXmldata)    If Empty(cXmldata)      Return ""    Endif    Local lc值    lc值 = ""    lc值  = Strextract(m.cXmldata, "<"+cName +"><![CDATA[", "]]></"+cName + ">")    Return lc值  EndfuncEnddefine
问答:

1 聚合支付安全吗?

合支付所做的是打通多种支付通道,可以打通支付宝、微信支付、云闪付、花呗、信用卡、等支付通道,做的是接口对接和结算的技术服务,但绝对不触碰资金。

聚合支付在整个过程中只参与资金清算,钱是由第三方平台(银行、支付宝、微信)和商户直接对接。举个例子,商家选择和第三方支付平台(支付宝、微信支付、云闪付等)合作。如果商家收到的钱来自支付宝,那么支付宝方面会在结算后把钱打入商家指定的支付宝余额账户;如果收到的钱来自微信,那么微信会把钱打入微信商家平台,商家第二天可以去提现。也就是说,商户的钱在银行、支付宝、微信那里,资金安全是有保障的。

现在没有二清的情况了,二清是违法的。而且支付牌照很贵。

2 聚合支付可以个人开户吗?

不可以,有营业执照才可以,比如个体户。可以收款到个人户或公户。

3 VFP调用支付会很难吗?

加菲猫已经整合好类库了,直接调用,代码简单。扫码支付非常简单,开箱即用。小程序调用需要指导一下使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加菲猫的VFP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值