pay-now/omnipay-paynow

Omnipay支付处理库的Paynow网关

1.0.3 2021-10-25 11:09 UTC

This package is auto-updated.

Last update: 2024-09-25 17:07:53 UTC


README

Build Status Latest Version Software License

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

Omnipay 是一个不依赖于框架、多网关的PHP支付处理库。此软件包实现了Omnipay的Paynow支持。

安装

Omnipay通过 Composer 安装。要安装,只需使用Composer要求 league/omnipaypay-now/omnipay-paynow

composer require league/omnipay pay-now/omnipay-paynow

基本用法

发起支付

use Omnipay\Omnipay;

$gateway = Omnipay::create('Paynow');
$gateway->setApiKey('api-key');
$gateway->setSignatureKey('signature-key');

$buyer = [
    'email' => 'jan.nowak@melements.pl', 
    'firstName' => 'Jan', 
    'lastName' => 'Nowak', 
    'phone' => [
        'number' => '123123123', 
        'prefix' => '+48'
    ], 
    'locale'=> 'en-EN'
];

$items[] = [
    'name' => 'itemName', 
    'quantity' => '12', 
    'category' => 'toys', 
    'price' => '123'
];

$paymentData = [
    'amount' => '10000', 
    'description' => 'PLN', 
    'returnUrl' => 'https://paynow.pl', 
    'transactionId' => '123',   
    'buyer' => $buyer, 
    'items' => $items
];

try {
    $response = $gateway->purchase($paymentData)->send();
} catch (\Exception $e) {
    // catch errors
}

处理当前支付状态的通知

use Omnipay\Omnipay;

$gateway = Omnipay::create('Paynow');
$gateway->setApiKey('api-key');
$gateway->setSignatureKey('signature-key');

try {
    $response = $gateway->acceptNotification();
} catch (\Exception $e) {
    header('HTTP/1.1 400 Bad Request', true, 400);
}

header('HTTP/1.1 202 Accepted', true, 202);

发起支付退款

use Omnipay\Omnipay;

$gateway = Omnipay::create('Paynow');
$gateway->setApiKey('api-key');
$gateway->setSignatureKey('signature-key');

$refundData = [
    'amount' => '1000000', 
    'transactionReference' => 'NOW8-CK5-C3E-ZDM', 
    'reason' => 'RMA'
];

try {
    $response = $gateway->refund($refundData)->send();
} catch (\Exception $e) {
    // catch errors
}

检索可用的支付方式

use Omnipay\Omnipay;

$gateway = Omnipay::create('Paynow');
$gateway->setApiKey('api-key');
$gateway->setSignatureKey('signature-key');

$requestData = [
    'amount'=>'1000', 
    'currency'=> 'PLN'
];

try {
    $response = $gateway->fetchPaymentMethods($requestData)->send();
} catch (\Exception $e) {
    // catch errors
}

有关通用使用说明,请参阅主 Omnipay 存储库。

支持

如果您对paynow有任何问题或问题,请联系我们的支持 support@paynow.pl

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

如果您想了解发布公告,讨论项目想法或提出更详细的问题,还有一个 邮件列表,您可以订阅。

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