deniztezcan/omnipay-ideal

Omnipay PHP支付处理库的iDeal驱动程序

1.6 2022-03-14 08:26 UTC

This package is auto-updated.

Last update: 2024-09-14 13:42:21 UTC


README

iDeal (PSP) 驱动程序,用于Omnipay PHP支付处理库

Latest Stable Version Total Downloads Latest Unstable Version License

Omnipay 3.x 是一个与框架无关、多网关支付处理库,适用于PHP 5.6+

如果这个仓库为您节省了大量时间,请考虑赞助我 😀

目录

安装

Omnipay通过Composer安装。

composer require deniztezcan/omnipay-ideal:^1

列出iDeal发行商

use Omnipay\Omnipay;

$gateway = Omnipay::create('iDeal');

$gateway->setAcquirer('YOUR_BANK');
$gateway->setMerchantId('MERCHANT_ID');
$gateway->setSubId('SUB_ID');
$gateway->setPrivateKeyPassphrase('PASSPHRASE');
$gateway->setPrivateKeyPath('PATH_TO_PRIVATE_KEY');
$gateway->setPrivateCerPath('PATH_TO_PRIVATE_CER');

$request = $gateway->fetchIssuers();
$response = $request->send();

这将为您提供一个Issuer数组

$response->getIssuers();

进行支付

use Omnipay\Omnipay;

$gateway = Omnipay::create('iDeal');

$gateway->setAcquirer('YOUR_BANK');
$gateway->setMerchantId('MERCHANT_ID');
$gateway->setSubId('SUB_ID');
$gateway->setPrivateKeyPassphrase('PASSPHRASE');
$gateway->setPrivateKeyPath('PATH_TO_PRIVATE_KEY');
$gateway->setPrivateCerPath('PATH_TO_PRIVATE_CER');

$request = $gateway->purchase(['issuer' => 'ISSUER', 'amount' => 99.99, 'currency' => 'EUR', 'returnUrl' => 'RETURN_URL', 'transactionId' => 'PURCHASE_ID', 'description' => 'DESCRIPTION']);
$response = $request->send();

正确处理响应

if ($response->isRedirect()) {
	// redirect to offsite payment gateway
    $response->redirect();
} else {
    // payment failed: display message to customer
    echo $response->getConsumerMessage();
}

完成支付

use Omnipay\Omnipay;

$gateway = Omnipay::create('iDeal');

$gateway->setAcquirer('YOUR_BANK');
$gateway->setMerchantId('MERCHANT_ID');
$gateway->setSubId('SUB_ID');
$gateway->setPrivateKeyPassphrase('PASSPHRASE');
$gateway->setPrivateKeyPath('PATH_TO_PRIVATE_KEY');
$gateway->setPrivateCerPath('PATH_TO_PRIVATE_CER');

$request = $gateway->completePurchase(['transactionReference' => 'TRANSACTION_REFERENCE']);
$response = $request->send();

正确处理响应

if ($response->isSuccessful()) {
	// payment was successful: update database
    print_r($response);
} else {
    // payment failed: display message to customer
    echo $response->getConsumerMessage();
}

支持

如果您在使用Omnipay时遇到一般性问题,我们建议您在Stack Overflow上发布。请务必添加omnipay标签,以便更容易找到。

如果您认为您发现了一个错误,请使用GitHub问题跟踪器报告,或者更好的方法是分叉库并提交pull request。