sudiptpa / omnipay-nabtransact
National Australia Bank (NAB) Transact 驱动程序,用于 Omnipay 支付处理库。
v3.2.0
2022-12-06 11:28 UTC
Requires
- omnipay/common: ^3
Requires (Dev)
- omnipay/tests: ^3
- phpro/grumphp: ^0.14.0
- squizlabs/php_codesniffer: ^3
README
NAB Transact 驱动程序,用于 Omnipay PHP 支付处理库
Omnipay 是一个与框架无关的多网关支付处理库,适用于 PHP。此软件包实现了 Omnipay 的 NAB Transact 支持。
安装
通过 Composer 安装 Omnipay。要安装,只需使用 Composer 需要 league/omnipay
和 sudiptpa/omnipay-nabtransact
composer require league/omnipay sudiptpa/omnipay-nabtransact
基本使用
此软件包提供以下网关
- NABTransact_DirectPost (NAB Transact Direct Post v2)
- NABTransact_SecureXML (NAB Transact SecurePay XML)
- NABTransact_UnionPay (通过 NAB Transact 的 UnionPay)
NAB Transact SecureXML API
use Omnipay\Omnipay; use Omnipay\Common\CreditCard; $gateway = Omnipay::create('NABTransact_SecureXML'); $gateway->setMerchantId('XYZ0010'); $gateway->setTransactionPassword('abcd1234'); $gateway->setTestMode(true); $card = new CreditCard([ 'firstName' => 'Sujip', 'lastName' => 'Thapa', 'number' => '4444333322221111', 'expiryMonth' => '06', 'expiryYear' => '2030', 'cvv' => '123', ] ); $transaction = $gateway->purchase([ 'amount' => '10.00', 'currency' => 'AUD', 'transactionId' => 'XYZ100', 'card' => $card, ] ); $response = $transaction->send(); if ($response->isSuccessful()) { echo sprintf('Transaction %s was successful!', $response->getTransactionReference()); } else { echo sprintf('Transaction %s failed: %s', $response->getTransactionReference(), $response->getMessage()); }
NAB Transact SecureXML API 带风险管理
use Omnipay\Omnipay; use Omnipay\Common\CreditCard; $gateway = Omnipay::create('NABTransact_SecureXML'); $gateway->setMerchantId('XYZ0010'); $gateway->setTransactionPassword('abcd1234'); $gateway->setTestMode(true); $gateway->setRiskManagement(true); $card = new CreditCard([ 'firstName' => 'Sujip', 'lastName' => 'Thapa', 'number' => '4444333322221111', 'expiryMonth' => '06', 'expiryYear' => '2030', 'cvv' => '123', ] ); $transaction = $gateway->purchase([ 'amount' => '10.00', 'currency' => 'AUD', 'transactionId' => 'XYZ100', 'card' => $card, 'ip' => '1.1.1.1', ] ); $response = $transaction->send(); if ($response->isSuccessful()) { echo sprintf('Transaction %s was successful!', $response->getTransactionReference()); } else { echo sprintf('Transaction %s failed: %s', $response->getTransactionReference(), $response->getMessage()); }
NAB Transact DirectPost v2
$gateway = Omnipay::create('NABTransact_DirectPost'); $gateway->setMerchantId('XYZ0010'); $gateway->setTransactionPassword('abcd1234'); $gateway->setTestMode(true); $gateway->setHasEMV3DSEnabled(true); $card = new CreditCard(array( 'firstName' => 'Sujip', 'lastName' => 'Thapa', 'number' => '4444333322221111', 'expiryMonth' => '10', 'expiryYear' => '2030', 'cvv' => '123', )); $response = $gateway->purchase(array( 'amount' => '12.00', 'transactionId' => 'ORDER-ZYX8', 'transactionReference' => '11fc42b0-bb7a-41a4-8b3c-096b3fd4d402' 'currency' => 'AUD', 'card' => $card, 'clientIp' => '192.168.1.1' )) ->send(); if ($response->isRedirect()) { $response->redirect(); } if ($response->isSuccessful()) { echo sprintf('Transaction %s was successful!', $response->getTransactionReference()); } else { echo sprintf('Transaction %s failed: %s', $response->getTransactionReference(), $response->getMessage()); }
NAB Transact DirectPost v2 UnionPay 在线支付
$gateway = Omnipay::create('NABTransact_UnionPay'); $gateway->setMerchantId('XYZ0010'); $gateway->setTransactionPassword('abcd1234'); $gateway->setTestMode(true); /* * The parameter transactionId must be alpha-numeric and 8 to 32 characters in length */ $response = $gateway->purchase(array( 'amount' => '12.00', 'transactionId' => '1234566789205067', 'currency' => 'AUD', 'returnUrl' => 'http://example.com/payment/response', )) ->send(); if ($response->isRedirect()) { $response->redirect(); }
完成购买
$gateway = Omnipay::create('NABTransact_UnionPay'); $gateway->setMerchantId('XYZ0010'); $gateway->setTransactionPassword('abcd1234'); $gateway->setTestMode(true); $response = $gateway->completePurchase(array( 'amount' => '12.00', 'transactionId' => '1234566789205067', 'transactionReference' => '11fc42b0-bb7a-41a4-8b3c-096b3fd4d402' 'currency' => 'AUD', 'returnUrl' => 'http://example.com/payment/response', )) ->send(); if ($response->isSuccessful()) { echo sprintf('Transaction %s was successful!', $response->getTransactionReference()); } else { echo sprintf('Transaction %s failed: %s', $response->getTransactionReference(), $response->getMessage()); }
有关一般使用说明,请参阅主 Omnipay 存储库。
贡献
欢迎 贡献,并将得到充分 认可。
可以通过在 Github 上发起拉取请求来做出贡献。
支持
如果您在使用 Omnipay 时遇到一般问题,我们建议在 Stack Overflow 上发布。请确保添加 omnipay 标签,以便易于查找。
如果您想了解最新的发布公告,讨论项目想法或提出更详细的问题,还有一个您可以订阅的 邮件列表。
如果您认为您已经发现了一个错误,请使用 GitHub 问题跟踪器 报告它,或者更好的是,分支库并提交拉取请求。