jetfueltw/gaotongpay-php

gaotong 支付网关 PHP 包

v1.0.13 2018-04-26 06:18 UTC

This package is auto-updated.

Last update: 2024-09-29 05:01:46 UTC


README

高通支付 PHP 版本封装。

安装

使用 Composer 安装。

composer require jetfueltw/gaotongpay-php

使用方法

扫码支付下单

使用微信支付、QQ钱包扫码支付,下单后返回 QR Code Image 网址,并在网址加上'IMG|'前缀字符串。

$merchantId = 'XXXXXXXXXXXXXXX'; // 商家號
$secretKey = 'XXXXXXXXXXXXXXX'; // md5 密鑰
$tradeNo = '20180109023351XXXXX'; // 商家產生的唯一訂單號
$channel = Channel::WECHAT; // 支付通道,支援微信支付、QQ錢包
$amount = 1.00; // 消費金額 (元)
$notifyUrl = 'https://XXX.XXX.XXX'; // 交易完成後異步通知接口

$payment = new DigitalPayment(merchantId, secretKey);
$result = $payment->order($tradeNo, $channel, $amount, $notifyUrl);
Result:
[
    'qrcodeUrl' =>'IMG|https://wgtj.gaotongpay.com/zfapi/order/getqrcode?orderid=18573XXXX&sign=XXX', // QR Code 圖片網址
];

扫码支付交易成功通知

消费者支付成功后,平台会发出 HTTP GET 请求到你下单时填的 $notifyUrl,商家在收到通知并处理完后必须回复 ok,否则平台会认为通知失败,会再次反复向 $notifyUrl 发送结果,直到商户返回“ok”或者达到和商户约定的重复发送次数。

  • 商家必须正确处理重复通知的情况。
  • 可以使用 NotifyWebhook@successNotifyResponse 返回成功回复。
  • 务必使用 NotifyWebhook@verifyNotifyPayload 验证签名是否正确。
  • 通知的消费金额单位为
Post Data: 
[
    'partner' => 'XXXXXXXXXXXXXXX'; // 商家號
    'ordernumber' => '20180109023351XXXXX'; // 商家產生的唯一訂單號
    'orderstatus' => 'X'; //1:支付成功,非1為支付失敗
    'paymoney'  => 1.00; //元
    'sysnumber' => 'XXXXXXXXXXXXX' //此次交易中高通支付介面系統內的訂單ID
    'attach' => 'XXXXXXXXXX' // 備註訊息
    'sign' => 'XXXXXXXXXXXXXXXXXXXXXX' // md5簽名
]

扫码支付订单查询

使用商家订单号查询一笔订单状态。

$merchantId = 'XXXXXXXXXXXXXXX'; // 商家號
$secretKey = 'XXXXXXXXXXXXXXX'; // md5 密鑰
$tradeNo = '20180109023351XXXXX'; // 商家產生的唯一訂單號

$tradeQuery = new TradeQuery(merchantId, secretKey);
$result = $tradeQuery->find($tradeNo);
Result:
[
    'data' => //如果查詢失敗此欄會回傳 null
      [
        'r1_mchtid' => 'XXXXXXXXXXXXXXX'; // 商家號
        'r2_systemorderno' => 'XXXXXXXXXXXXXXXXX' //平台唯一流水号
        'r3_orderno' => '20180109023351XXXXX'; // 商家產生的唯一訂單號
        'r4_amount' => 1.00; //订单交易金额
        'r5_orderstate' => 'X'; //0.支付中 1.成功,2.失败,3.失败
        'r6_version' => 'v2.8';
        'sign' => 'XXXXXXXXXXXXXXXXXXXXXX' // md5簽名
      ]
    'rspCode' => '1' //1表示成功
    'rspMsg' => 'XXXXXX' // 回覆訊息
]

扫码支付订单支付成功查询

使用商家订单号查询一笔订单是否支付成功。

$merchantId = 'XXXXXXXXXXXXXXX'; // 商家號
$secretKey = 'XXXXXXXXXXXXXXX'; // md5 密鑰
$tradeNo = '20180109023351XXXXX'; // 商家產生的唯一訂單號
$tradeQuery = new TradeQuery($merchantId, $secretKey);
$result = $tradeQuery->isPaid($tradeNo);
Result:
bool(true|false)