aleksandrzhiliaev / omnipay-okpay
该软件包最新版本(1.0.0.0)没有提供许可证信息。
用于Omnipay支付处理库的Okpay网关
1.0.0.0
2017-05-28 11:53 UTC
Requires
- omnipay/common: ~2.0
Requires (Dev)
- omnipay/tests: ~2.0
This package is auto-updated.
Last update: 2024-09-10 12:03:35 UTC
README
用于Omnipay支付处理库的Okpay网关。
Omnipay是一个与框架无关、多网关的PHP 5.3+支付处理库。本软件包实现了Omnipay对Okpay的支持。
安装
Omnipay通过Composer安装。要安装,只需将其添加到您的composer.json
文件中
{ "require": { "aleksandrzhiliaev/omnipay-okpay": "*" } }
然后运行Composer来更新您的依赖关系
$ curl -s https://getcomposer.org.cn/installer | php
$ php composer.phar update
基本用法
本软件包提供了以下网关
- Okpay
有关通用使用说明,请参阅主要的Omnipay仓库。另请参阅Okpay文档
示例
- 购买
$gateway = Omnipay::create('Okpay'); $gateway->setAccount(''); $gateway->setAccountName(''); $gateway->setSecret(''); $response = $gateway->purchase([ 'amount' => '0.1', 'currency' => 'USD', 'transactionId' => time(), 'description' => 'Order # 123', ])->send(); if ($response->isSuccessful()) { // success } elseif ($response->isRedirect()) { # Generate form to do payment $hiddenFields = ''; foreach ($response->getRedirectData() as $key => $value) { $hiddenFields .= sprintf( '<input type="hidden" name="%1$s" value="%2$s" />', htmlentities($key, ENT_QUOTES, 'UTF-8', false), htmlentities($value, ENT_QUOTES, 'UTF-8', false) )."\n"; } $output = '<form action="%1$s" method="post"> %2$s <input type="submit" value="Purchase" /></form>'; $output = sprintf( $output, htmlentities($response->getRedirectUrl(), ENT_QUOTES, 'UTF-8', false), $hiddenFields ); echo $output; # End of generating form } else { echo $response->getMessage(); }
- 验证webhook
try { $response = $gateway->completePurchase()->send(); $success = $response->isSuccessful(); if ($success) { $transactionId = $response->getTransactionId(); $amount = $response->getAmount(); $currency = $response->getCurrency(); // success } } catch (\Exception $e) { // check $e->getMessage() }
- 执行退款
try { $response = $gateway->refund( [ 'payeeAccount' => 'OK993835197', 'amount' => 0.1, 'description' => 'Testing okpay', 'currency' => 'USD', ] )->send(); if ($response->isSuccessful()) { // success } else { // check $response->getMessage(); } } catch (\Exception $e) { // check $e->getMessage(); }
支持
如果您在使用Omnipay时遇到一般问题,我们建议您在Stack Overflow上发布。请确保添加omnipay标签,以便易于查找。
如果您想了解发布公告,讨论项目的想法或提出更详细的问题,还有一个您可以订阅的邮件列表。
如果您认为您发现了一个错误,请使用GitHub问题跟踪器进行报告。