payyo/omnipay-payyo

为 Omnipay 支付处理库的 Payyo 网关

3.0.1 2020-09-10 11:43 UTC

This package is auto-updated.

Last update: 2024-09-12 02:10:31 UTC


README

为 Omnipay PHP 支付处理库提供的 Payyo 网关。

Omnipay 是一个不依赖于框架、多网关的 PHP 5.3+ 支付处理库。

Payyo Omnipay 库需要 PHP 7.0+。

安装

可以使用 Composer 安装 Omnipay。请参阅 安装说明

运行以下命令以安装 omnipay 和 Payyo 网关

composer require payyo/omnipay-payyo

基本用法

以下参数是必需的

  • apiKey 您的 Payyo API/公开密钥
  • secretKey 您的 Payyo 秘密密钥
  • merchantId 您的 Payyo 商户 ID
$gateway = Omnipay::create('Payyo');
$gateway->setApiKey('api_...');
$gateway->setSecretKey('sec_...');
$gateway->setMerchantId('1234');
$gateway->setTestMode(true);

// Send purchase request
$response = $gateway->purchase([
    'transactionId' => '123456',
    'description' => '1x Book',
    'amount' => '10.00',
    'currency' => 'USD',
    'paymentMethods' => ['credit_card'],    
    'returnUrl' => 'https://example.org/success',
    'cancelUrl' => 'https://example.org/abort',
])->send();

// This is a redirect gateway, so redirect right away
$response->redirect();

请求

购买

  • purchase() 调用 paymentPage.initialize,然后您应该进行重定向
  • completePurchase() 调用 transaction.getNextAction 和(如果需要) transaction.capture

授权 + 捕获

  • authorize() 调用 paymentPage.initialize,然后您应该进行重定向
  • completeAuthorize() 调用 transaction.getDetails
  • capture() 调用 transaction.getNextAction 和(如果需要) transaction.capture

作废/退款

  • void() 调用 transaction.void
  • refund() 调用 transaction.refund

测试

您可以通过运行 docker-compose up 并然后访问 http://localhost:8086/ 来针对沙盒进行测试支付。