fruitcakestudio/omnipay-sisow

Sisow网关用于Omnipay支付处理库

v3.0.3 2019-11-08 10:09 UTC

This package is auto-updated.

Last update: 2024-09-11 09:28:10 UTC


README

Sisow网关用于Omnipay PHP支付处理库

Build Status Latest Stable Version Total Downloads

Omnipay 是一个与框架无关的,多网关的PHP支付处理库。本包实现了Omnipay的Sisow支持。

安装

Omnipay通过 Composer 安装。要安装,只需使用Composer要求 league/omnipayfruitcakestudio/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请求。