支付宝 - 当面付接口类

功能描述 此版本不推荐,用下一章节的工具吧

此类为精简版,目前有两个功能:    
1:创建支付宝当面付的订单信息(用于付款) 
2:查询生成的订单信息 
不需要用三方软件挂机,非常方便 
环境要求: 建议php7.0.0及以上

部署说明

下载 alipayDmf.php 解压并部署到 phpGrace/tools 文件夹下。


使用演示

<?php
class indexController extends grace{
public $appid = 'xxxxx';    //支付宝应用APPID
public $privateKey = 'xxxxx';//商户私钥

//创建订单
public function creat(){
    $appid = $this->appid;
    $privateKey = $this->privateKey;
    $title = '订单标题';        //订单标题或者商品名称
    $money = '0.01';           //订单金额 
    $orderId = '1234567489';   // 生成的不重复的商户自定义订单号
    $timeOut = '2h';           // 该笔订单允许的最晚付款时间,逾期将关闭交易。取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。 该参数数值不接受小数点, 如 1.5h,可转换为 90m 
    $alipay = new \phpGrace\tools\alipayDmf();
    // 生成订单
    $this->info = $alipay->createDmfOrder($appid,$privateKey,$money,$title,$orderId,$timeOut);
}

//查询订单 (前端轮询或者单独查询订单状态)
public function queryOrder(){
    $orderid = $this->gets[0]; // 前台传递过来的商户订单号
    $appid = $this->appid;
    $privateKey = $this->privateKey;
    //查询订单
    $alipay = new \phpGrace\tools\alipayDmf();
    $data = $alipay->queryDmfOrder($appid,$privateKey,$orderId);
    return json_encode($data) ;
}

 前端查询支付状态

可以使用轮询

    /*轮询*/
    var orderid = "xxxxx"; // jquery获取表单订单号
    setInterval(function() {    
	var url =  'index/queryOrder/'+orderid; 
	$.getJSON(url, function(result) { 
		console.log("轮询进入执行: 检查是否支付订单....");
		if (result.trade_status == 'TRADE_SUCCESS') {
			 /*买家扫码付款成功,进入执行付款成功后的页面逻辑*/
			window.location.href = '支付成功后需要跳转到的网址页面';
		}else 
		{
			/*输出轮询结果*/
			console.log("轮询检测结果:"+result.msg	);
		}
	},"json"); 
}, 5000);

下载当前类库源码

mac 系统环境 可以在编辑器的tools目录下通过 Terminal 执行命令行直接下载到目录里

curl -O https://cdn.jsdelivr.net/gh/yaoGrace/CdnStatics/FrontProject/phpgrace/alipay@1.0/alipayDmf.php