fruitcakestudio / omnipay-sisow
Sisow网关用于Omnipay支付处理库
v3.0.3
2019-11-08 10:09 UTC
Requires
- omnipay/common: ^3
Requires (Dev)
- omnipay/tests: ^3
- squizlabs/php_codesniffer: ^2.8.1
README
Sisow网关用于Omnipay PHP支付处理库
Omnipay 是一个与框架无关的,多网关的PHP支付处理库。本包实现了Omnipay的Sisow支持。
安装
Omnipay通过 Composer 安装。要安装,只需使用Composer要求 league/omnipay
和 fruitcakestudio/omnipay-sisow
composer require league/omnipay fruitcakestudio/omnipay-sisow
基本使用
本包提供以下网关
- Sisow
有关一般使用说明,请参阅主 Omnipay 存储库。另请参阅 Sisow REST文档
示例
$gateway = \Omnipay\Omnipay::create('Sisow'); $gateway->initialize(array( 'shopId' => '', 'merchantId' => '0123456', 'merchantKey' => 'b36d8259346eaddb3c03236b37ad3a1d7a67cec6', 'testMode' => true, )); // Start the purchase if(!isset($_GET['trxid'])){ $url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $response = $gateway->purchase(array( 'amount' => "6.84", 'description' => "Testorder #1234", 'issuer' => 99, // Get the id from the issuers list, 99 = test issuer //'paymentMethod' => 'overboeking', // For 'overboeking', extra parameters are required: 'card' => array( 'email' => 'barry@fruitcakestudio.nl', 'firstName' => 'Barry', 'lastName' => 'vd. Heuvel', 'company' => 'Fruitcake Studio', ), 'transactionId' => 1234, 'returnUrl' => $url, 'notifyUrl' => $url, ))->send(); if ($response->isRedirect()) { // redirect to offsite payment gateway $response->redirect(); } elseif ($response->isPending()) { // Process started (for example, 'overboeking') return "Pending, Reference: ". $response->getTransactionReference(); } else { // payment failed: display message to customer return "Error " .$response->getCode() . ': ' . $response->getMessage(); } }else{ // Check the status $response = $gateway->completePurchase()->send(); if($response->isSuccessful()){ $reference = $response->getTransactionReference(); // TODO; Check the reference/id with your database return "Transaction '" . $response->getTransactionId() . "' succeeded!"; }else{ return "Error " .$response->getCode() . ': ' . $response->getMessage(); } }
注意,当设置 issuer
时,transactionReference 仅在 PurchaseResponse 中可用。使用 fetchIssuers 响应查看可用发行者,或使用 Javascript 脚本 填充发行者
$response = Omnipay::fetchIssuers()->send(); if($response->isSuccessful()){ print_r($response->getIssuers()); }
账单/配送数据通过 card
参数设置,为数组或 CreditCard 对象。可以使用 'overboeking' 输入的其他参数包括
including
(true/false 以包含使用ideal支付的链接)days
(发送提醒前的天数)
支持
如果您在使用Omnipay时遇到一般问题,我们建议您在 Stack Overflow 上发布。确保添加 omnipay 标签,以便可以轻松找到。
如果您想了解发布公告,讨论项目想法或提出更详细的问题,还可以订阅 邮件列表。
如果您认为您已经发现了一个错误,请使用 GitHub问题跟踪器 报告,或者更好的是,分支库并提交一个pull请求。