knit-pay / payum-payu-india
Payum 扩展。它提供了 PayU India (payu.in) 和 PayUBiz 支付网关集成。
1.0.1
2022-11-16 14:57 UTC
Requires
- payum/core: ^1.5
Requires (Dev)
- php-http/guzzle6-adapter: ^1.1.1
This package is auto-updated.
Last update: 2024-09-16 19:03:36 UTC
README
Payum 扩展。它提供了 PayU India 和 PayUBiz 支付集成。
在继续之前,如果您还没有账户,请在 PayU 上创建一个账户。
在 PayU Live 上注册
对于测试,如果您还没有账户,请在 PayU UAT Dashboard 上创建一个账户。
在 PayU Test/UAT 上注册
安装
安装库的首选方式是使用 composer。运行 composer require 以将依赖项添加到 composer.json
php composer.phar require knit-pay/payum-payu-india php-http/guzzle6-adapter
使用 PayumBuilder
(config.php)注册 payu_india
Payum 工厂
use Payum\Core\GatewayFactoryInterface; use KnitPay\PayuIndia\PayuIndiaGatewayFactory; $payum = (new PayumBuilder()) ->addDefaultStorages() ->addGatewayFactory('payu_india', function(array $config, GatewayFactoryInterface $gatewayFactory) { return new PayuIndiaGatewayFactory($config, $gatewayFactory); }) ->addGateway('payu_india', [ 'factory' => 'payu_india', 'merchant_key' => 'Key', // Change this. 'merchant_salt' => 'Salt', // Change this. 'sandbox' => true, ]) ->getPayum() ;
prepare.php
在这里您需要修改 gatewayName
值。将其设置为 payu_india
。其余部分几乎与基本 入门 文档中描述的相同。可以添加可选字段,如以下代码所示。
$gatewayName = 'payu_india'; /** @var \Payum\Core\Payum $payum */ $storage = $payum->getStorage($paymentClass); $payment = $storage->create(); $payment->setNumber(uniqid()); $payment->setCurrencyCode('INR'); $payment->setTotalAmount(123); // 1.23 INR $payment->setDescription('A description'); $payment->setClientId('anId'); $payment->setClientEmail('foo@example.com'); $payment->setDetails(array( // put here any fields in a gateway format. // for example if you use PayU India you can define optional fields like this. // Kindly refer to this link for more details. https://devguide.payu.in/docs/payu-hosted-checkout/payu-hosted-checkout-integration/https://devguide.payu.in/docs/payu-hosted-checkout/payu-hosted-checkout-integration/ // Uncomment the optional field below that you want to pass to the payment gateway. //'firstname' => 'First Name', //'lastname' => 'Last Name', //'address1' => 'Address Line 1', //'address2' => 'Address Line 2', //'city' => 'City', //'state' => 'State', //'country' => 'Country', //'zipcode' => 'Zip Code', //'phone' => 'Phone Number', //'pg' => 'CC', //'enforce_paymethod' => 'creditcard', //'display_lang' => 'Hindi' ));
capture.php
capture.php 几乎与基本 入门 文档中描述的相同。尽管有一些小的修改。我们需要处理 HttpPostRedirect 响应。
/** @var \Payum\Core\GatewayInterface $gateway */ if ($reply = $gateway->execute(new Capture($token), true)) { if ($reply instanceof HttpRedirect) { header("Location: ".$reply->getUrl()); die(); } elseif ($reply instanceof HttpPostRedirect) { echo $reply->getContent(); die(); } throw new \LogicException('Unsupported reply', null, $reply); }
支持
欢迎您联系我们以获得所需的支持。 https://www.knitpay.org/contact-us/