fk / pay
There is no license information available for the latest version (v3.0.18) of this package.
v3.0.18
2018-08-04 04:12 UTC
Requires
- php: >=5.4
- fk/helpers-fluent: ^0.1
README
Integration of all Third Part Payment(TPP)
Configuration
# main-local.php <?php return [ // other config 'components' => [ 'pay' => [ 'class' => 'fk\pay\Component', 'channel' => 'WeChat', // Here is default channel // As for different platforms, the actual notify_url will need a prefix of platform name // end with .php // e.g. // For WeChat, it will be `https://api.alijian.net/notify/we-chat.php` // The `we-chat.php` come from `WeChat`. // You should rewrite the server route, to fit the filename rule. 'notifyPath' => 'https://api-test.alijian.net/notify/', 'platforms' => [ 'WeChat' => [ 'web' => [ // Web, a.k.a JS, a.k.a H5 payment 'app_id' => 'wx71xxx', 'app_secret' => 'xxx', 'mch_id' => 1234567890, 'key' => 'QqDAWHMgDpskKmsdjYH', // to sign 'ssl_cert_path' => '@common/data/cache/apiclient_cert.pem', // to refund 'ssl_key_path' => '@common/data/cache/apiclient_key.pem', ], 'app' => [ // App(iOS, Android) payment 'app_id' => 'wxxxxx', 'mch_id' => 1234567890, 'app_secret' => '6exxx', 'key' => 'QqDAWHMgDpskKmsdjYH', // to sign 'ssl_cert_path' => '@common/data/cache/apiclient_cert.pem', // to refund 'ssl_key_path' => '@common/data/cache/apiclient_key.pem', ] ], 'AliPay' => [ // under construction 'name' => 'haha', ], ] ] ] ];
Pay
Transfer money from user's TPP account to your platform
<?php $orderSn = '2014124582620133'; // 20 bytes recommended $amount = 1000; // Money with unit Fen(CNY), 10 Yuan $name = 'Apple'; $description = 'Sweet Apple'; $extra = [ 'trade_type' => 'JSAPI', 'openid' => 'o-28js7h4kd01kldfg7ag29zk3' ]; Yii::$app->pay ->with('WeChat') // Default defined in config file ->pay($orderSn, $amount, $name, $description, $extra);
$extra for Wechat
- trade_type: required APP, JSAPI, NATIVE
- openid: required when trade_type=JSAPI
- ...: other optional params for WeChat API, see JSAPI Docs and APP Docs