bookin / yii2-wallet-one
钱包One服务的组件
1.0.0
2016-08-15 19:57 UTC
Requires
- php: >=5.4.0
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-14 19:19:56 UTC
README
安装
安装此扩展的首选方式是通过 composer。
要安装,请运行
$ php composer.phar require bookin/yii2-wallet-one "@dev"
或添加
"bookin/yii2-wallet-one": "@dev"
到您的 composer.json
文件的 require
部分。
用法
配置组件
'walletone'=>[ 'class'=>'bookin\walletone\WalletOne', 'secretKey'=>'....', 'signatureMethod'=>'sha1', 'buttonLabel'=>'....', 'walletOptions'=>[ 'WMI_MERCHANT_ID'=>'...', 'WMI_CURRENCY_ID'=>'...', 'WMI_SUCCESS_URL'=>['site/payment-success'], 'WMI_FAIL_URL'=>['site/payment-fail'], ] ]
secretKey
- 这是您的密钥,您可以在账户设置集成页面找到它
walletOptions
- 这是生成支付表单的 参数,您可以设置永久数据
signatureMethod
- EDS 创建方法,此参数必须与您在账户设置集成页面选择的相同(默认 - sha1)
buttonLabel
- WalletOneButton 的标签
如果您不使用加密方法,则需要将 signatureMethod
和 secretKey
设置为 NULL
示例显示表单
您可以获取字段(添加一些选项),并创建表单
$action = Yii::$app->walletone->apiUrl; $formData = Yii::$app->walletone->getFields([ 'WMI_PAYMENT_AMOUNT'=>'1.00', 'WMI_CURRENCY_ID'=>WalletOne::CurrencyID('UAH'), 'WMI_DESCRIPTION'=>'Top up the account - '.Yii::$app->user->identity->username, 'WMI_PAYMENT_NO'=>Yii::$app->user->id ]); echo Html::beginForm($action); foreach($formData as $key => $value){ echo Html::hiddenInput($key, $value); } echo Html::submitButton('Pay', ['class'=>'btn btn-info']); echo Html::endForm();
或使用简单的表单(按钮)
echo WalletOneButton::widget([ 'walletOptions'=>[ 'WMI_PAYMENT_AMOUNT'=>'1.00', 'WMI_CURRENCY_ID'=>WalletOne::CurrencyID('UAH'), 'WMI_DESCRIPTION'=>'Top up the account - '.Yii::$app->user->identity->username, 'WMI_PAYMENT_NO'=>Yii::$app->user->id ] ]);
示例成功操作
$post = Yii::$app->request->post(); /** @var WalletOne $walletone */ $walletone = Yii::$app->walletone; try{ if($walletone->checkPayment($post)){ //... save info about payment } }catch (ErrorException $c){ return 'WMI_RESULT=RETRY&WMI_DESCRIPTION='.$c->getMessage(); } return 'WMI_RESULT=OK';
问题
如果您已为您的应用程序启用了 enableCsrfValidation
,则在初始化表单之前应手动禁用它(Yii::app()->request->enableCsrfValidation = false;
),以确保有正确的令牌。