最近研究了不少第三方的支付
这些第三方提供的文档,要么不清晰代码格式都没有,要么直接给你个PDF
也是因为第三方的不稳定,所以准备多个接口是非常必要的,以防跑路嘛
所以在我踩了无数的坑之后,被我集成起来了
总的来说分为两种类型的请求方式,一种要求FORM表单方式提交数据,一种要求CURL提交
因为第三方的接口千奇百怪,最终要实现的是统一一个调用方式,统一返回值,传递什么参数,使用什么接口
所以集成方式没有即插即用的方法,得写代码,但是集成之后用起来非常爽。
集成直接按照第三方提供的SDK,按照调用方式重写下单接口,回调验签接口即可,需要查询订单的也可以集成
下单接口调用方式
// 支付方式(一个第三方就代表一个支付方式) require_once('start.php'); $paytype = 'tiantian'; $payment = new Payment(["paytype"=>$paytype,"siteroot"=>'http://www.baidu.com']); $order = array(); $order["out_trade_no"] = date("YmdHis"); $order["total_fee"] = 500; $order["gateway"] = "wechat"; $result = $payment->unifiedorder($order); var_dump($result);
查单接口
$search["orderNo"] = "20191030093356"; $search["orderDate"] = date("Y-m-d"); $result = $payment->queryorder($search); var_dump($result);
回调验签调用方式
$payment = new Payment(["paytype"=>$paytype]); $result = $payment->callback(); if($result["code"] == 1) { echo "success"; }
sdk 目录如下。一个目录就代表一个第三方,log 文件夹专门保存日志,common 保存可复用函数,使用时只需要加载 start.php 就行
其实这个 Sdk 里面的第三方估计都已经跑路完毕了但是市面上的第三方与他们的接口调用方式差不多,很多东西可以复用或者研究下