PHP code example of jetfueltw / wefupay-php

1. Go to this page and download the library: Download jetfueltw/wefupay-php library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

jetfueltw / wefupay-php example snippets


composer 

$merchantId = '1XXXXXXXX6'; // 商家號
$merchantPrivateKey = '-----BEGIN PRIVATE KEY-----XXX-----END PRIVATE KEY-----'; // 商家私鑰
$tradeNo = '20170101235959XXX'; // 商家產生的唯一訂單號
$channel = Channel::WECHAT; // 第三方支付,支援微信支付、支付寶、財付通、京東支付
$amount = 1.00; // 消費金額 (元)
$clientIp = 'XXX.XXX.XXX.XXX'; // 消費者端 IP 位址
$notifyUrl = 'https://XXX.XXX.XXX'; // 交易完成後異步通知接口

$payment = new DigitalPayment($merchantId, $merchantPrivateKey);
$result = $payment->order($tradeNo, $channel, $amount, $clientIp, $notifyUrl);

Result:
[
    'interface_version' => 'V3.1', // 接口版本
    'merchant_code' => '1XXXXXXXX6', // 商家號
    'order_amount'=> '1.00'; // 消費金額 (元)
    'order_no'=>'20170101235959XXX', // 商家產生的唯一訂單號
    'order_time'=>'2017-01-01 12:23:59', // 下單時間
    'qrcode'=> 'weixin://wxpay/bizpayurl?pr=XXXXXXX', // 支付網址
    'resp_code'=>'SUCCESS', // SUCCESS 成功、FAIL 失敗
    'resp_desc'=>'通讯成功', // 描述訊息
    'result_code'=> '0', // 0 成功、1 失敗
    'trade_no'=> 'CXXXXXXXXXX', // 聚合支付平台訂單號
    'trade_time'=>'2017-01-01 13:00:00', // 交易時間
    'sign_type'=> 'RSA-S', // 簽名方式
    'sign'=> 'XXXXXXXXXXX', // 簽名
];

Post Data:
[
    'interface_version' => 'V3.0', // 接口版本
    'merchant_code' => '1XXXXXXXX6', // 商家號
    'orginal_money' => '1.00', // 消費金額 (元)
    'order_amount' => '1.00', // 實際支付金額 (元)
    'order_no' => '20170101235959XXX', // 商家產生的唯一訂單號
    'order_time' => '2017-01-01 12:23:59', // 下單時間
    'trade_status' => 'SUCCESS', // SUCCESS 成功、FAILED 失敗
    'trade_no' => 'CXXXXXXXXXX', // 聚合支付平台訂單號
    'trade_time' => '2017-01-01 13:00:00', // 交易時間
    'bank_seq_no' => 'WXXXXXXXXXXXXXXXXXXXXXXX', // 網銀交易流水號
    'notify_type' => 'offline_notify', // 通知類型
    'notify_id' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // 通知校驗 ID
    'sign_type' => 'RSA-S', // 簽名方式
    'sign' => 'XXXXXXXXXX', // 簽名
]

$tradeQuery = new TradeQuery($merchantId, $merchantPrivateKey);
$result = $tradeQuery->find($tradeNo);

Result:
[
    'is_success' => 'T', // T 成功、F 失敗
    'sign_type' => 'RSA-S', // 簽名方式
    'sign' => 'XXXXXXXXXX', // 簽名
    'trade' => [
        'merchant_code' => '1XXXXXXXX6', // 商家號
        'orginal_money' => '1.00', // 消費金額 (元)
        'order_amount' => '1.00', // 實際支付金額 (元)
        'order_no' => '20170101235959XXX', // 商家產生的唯一訂單號
        'order_time' => '2017-01-01 12:23:59', // 下單時間  
        'trade_status' => 'UNPAY', // SUCCESS 成功、FAILED 失敗、UNPAY 未支付
        'trade_no' => 'CXXXXXXXXXX', // 聚合支付平台訂單號
        'trade_time' => '2017-01-01 13:00:00', // 交易時間
    ]
]

$tradeQuery = new TradeQuery($merchantId, $merchantPrivateKey);
$result = $tradeQuery->isPaid($tradeNo);

$merchantId = '1XXXXXXXX6'; // 商家號
$merchantPrivateKey = '-----BEGIN PRIVATE KEY-----XXX-----END PRIVATE KEY-----'; // 商家私鑰
$tradeNo = '20170101235959XXX'; // 商家產生的唯一訂單號
$bank = Bank::PSBC; // 銀行編號
$amount = 1.00; // 消費金額 (元)
$notifyUrl = 'https://XXX.XXX.XXX'; // 交易完成後異步通知接口
(選填) $returnUrl = 'https://XXX.XXX.XXX'; // 交易完成後會跳轉到這個頁面

$payment = new BankPayment($merchantId, $merchantPrivateKey);
$result = $payment->order($tradeNo, $bank, $amount, $notifyUrl, $returnUrl);