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에 게시하는 것이 좋습니다. 쉽게 찾을 수 있도록 omnipay 태그를 추가하세요.
릴리스 공지 사항을 최신 상태로 유지하고 싶거나, 프로젝트에 대한 아이디어를 논의하거나, 더 자세한 질문을 하고 싶다면 구독할 수 있는 메일링 리스트도 있습니다.
버그를 발견했다고 생각되면 GitHub 문제 추적기를 사용하여 보고하거나, 라이브러리를 포크하고 끌어오기 요청을 제출하는 것이 더 좋습니다.