omnipay wechatpay
send COUPON
Omnipay PHP 支払処理ライブラリ用の WechatPay ドライバー
Omnipay は、フレームワークに依存しない、PHP 5.3 以降のマルチゲートウェイ支払い処理ライブラリです。このパッケージは、Omnipay の WechatPay サポートを実装します。
Omnipay は Composer 経由でインストールされます。
composer require lokielse/omnipay-wechatpay
このパッケージでは次のゲートウェイが提供されます。
//gateways: WechatPay_App, WechatPay_Native, WechatPay_Js, WechatPay_Pos, WechatPay_Mweb
$ gateway = Omnipay:: create ( ' WechatPay_App ' );
$ gateway -> setAppId ( $ config [ ' app_id ' ]);
$ gateway -> setMchId ( $ config [ ' mch_id ' ]);
$ gateway -> setApiKey ( $ config [ ' api_key ' ]);
$ order = [
' body ' => ' The test order ' ,
' out_trade_no ' => date ( ' YmdHis ' ). mt_rand ( 1000 , 9999 ),
' total_fee ' => 1 , //=0.01
' spbill_create_ip ' => ' ip_address ' ,
' fee_type ' => ' CNY '
];
/**
* @var OmnipayWechatPayMessageCreateOrderRequest $request
* @var OmnipayWechatPayMessageCreateOrderResponse $response
*/
$ request = $ gateway -> purchase ( $ order );
$ response = $ request -> send ();
//available methods
$ response -> isSuccessful ();
$ response -> getData (); //For debug
$ response -> getAppOrderData (); //For WechatPay_App
$ response -> getJsOrderData (); //For WechatPay_Js
$ response -> getCodeUrl (); //For Native Trade Type
$ gateway = Omnipay:: create ( ' WechatPay ' );
$ gateway -> setAppId ( $ config [ ' app_id ' ]);
$ gateway -> setMchId ( $ config [ ' mch_id ' ]);
$ gateway -> setApiKey ( $ config [ ' api_key ' ]);
$ response = $ gateway -> completePurchase ([
' request_params ' => file_get_contents ( ' php://input ' )
])-> send ();
if ( $ response -> isPaid ()) {
//pay success
var_dump ( $ response -> getRequestData ());
} else {
//pay fail
}
$ response = $ gateway -> query ([
' transaction_id ' => ' 1217752501201407033233368018 ' , //The wechat trade no
])-> send ();
var_dump ( $ response -> isSuccessful ());
var_dump ( $ response -> getData ());
$ response = $ gateway -> close ([
' out_trade_no ' => ' 201602011315231245 ' , //The merchant trade no
])-> send ();
var_dump ( $ response -> isSuccessful ());
var_dump ( $ response -> getData ());
$ gateway -> setCertPath ( $ certPath );
$ gateway -> setKeyPath ( $ keyPath );
$ response = $ gateway -> refund ([
' transaction_id ' => ' 1217752501201407033233368018 ' , //The wechat trade no
' out_refund_no ' => $ outRefundNo ,
' total_fee ' => 1 , //=0.01
' refund_fee ' => 1 , //=0.01
])-> send ();
var_dump ( $ response -> isSuccessful ());
var_dump ( $ response -> getData ());
$ response = $ gateway -> queryRefund ([
' refund_id ' => ' 1217752501201407033233368018 ' , //Your site trade no, not union tn.
])-> send ();
var_dump ( $ response -> isSuccessful ());
var_dump ( $ response -> getData ());
WechatPay_Native
用) ドキュメント $ response = $ gateway -> shortenUrl ([
' long_url ' => $ longUrl
])-> send ();
var_dump ( $ response -> isSuccessful ());
var_dump ( $ response -> getData ());
var_dump ( $ response -> getShortUrl ());
WechatPay_Pos
用) ドキュメント $ response = $ gateway -> queryOpenId ([
' auth_code ' => $ authCode
])-> send ();
var_dump ( $ response -> isSuccessful ());
var_dump ( $ response -> getData ());
var_dump ( $ response -> getOpenId ());
一般的な使用手順については、メインの Omnipay リポジトリを参照してください。
Omnipay に関する一般的な問題がある場合は、簡単に見つけられるように、Stack Overflow に投稿することをお勧めします。
リリースの最新情報を入手したり、プロジェクトのアイデアについて話し合ったり、より詳細な質問をしたりしたい場合は、購読できるメーリング リストもあります。
バグを見つけたと思われる場合は、GitHub Issue Tracker を使用して報告してください。あるいは、ライブラリをフォークしてプル リクエストを送信してください。