ajaz/payumoney-payment-gateway-php

一个简单的PayUMoney支付网关集成库

1.0 2020-11-11 10:17 UTC

This package is auto-updated.

Last update: 2024-09-14 22:41:26 UTC


README

一个简单的PayUMoney支付网关集成库

PayUMoney API for PHP

PayUMoney网站上创建商户账户

一个简单的库,用于通过PayUMoney接收支付。

安装

安装此库的推荐方式是 Composer

composer require ajaz/payumoney-payment-gateway-php

用法

下面提供了一个最简单的用法示例。

初始化购买

<?php
// purchase.php

use PaymentGateway\PayUmoney\PayUMoney;

require 'vendor/autoload.php';

$payumoney = new PayUMoney(array(
    'merchantId' => 'YOUR_MERCHANT_ID',
    'secretKey'  => 'YOUR_SECRET_KEY',
    'testMode'   => true
));

// All of these parameters are required!
$params = [
    'txnid'       => 'TXN65876798779',
    'amount'      => 100.00,
    'productinfo' => 'Buy a Sunglasses',
    'firstname'   => 'Garry',
    'email'       => 'jack@example.com',
    'phone'       => '1234567890',
    'surl'        => 'https:///payumoney-payment-gateway-php/return.php',
    'furl'        => 'https:///payumoney-payment-gateway-php/return.php',
    'udf1'        =>  'USER ID' //optional
];

// Redirects to PayUMoney
$data = $payumoney->initializePurchase($params);

$output = sprintf('<form id="payment_form" method="POST" action="%s">', $payumoney->getServiceUrl());

        foreach ($data as $key => $value) {
            $output .= sprintf('<input type="hidden" name="%s" value="%s" />', $key, $value);
        }

        $output .= '<input type="hidden" name="service_provider" value="payu_paisa" size="64" />';

        $output .= '<div id="redirect_info" style="display: none">Redirecting...</div>
                <input id="payment_form_submit" type="submit" value="Proceed to PayUMoney" />
            </form>
            <script>
                document.getElementById(\'redirect_info\').style.display = \'block\';
                document.getElementById(\'payment_form_submit\').style.display = \'none\';
                document.getElementById(\'payment_form\').submit();
            </script>';
 echo $output;

完成购买

<?php
// return.php

use PaymentGateway\PayUmoney\PayUMoney;
use PaymentGateway\PayUmoney\PurchaseResult;

require 'vendor/autoload.php';

$payumoney = new PayUMoney([
    'merchantId' => 'YOUR_MERCHANT_ID',
    'secretKey'  => 'YOUR_SECRET_KEY',
    'testMode'   => true
]);

$result = $payumoney->completePurchase($_POST);

if ($result->checksumIsValid() && $result->getStatus() === PurchaseResult::STATUS_COMPLETED) {
  print 'Payment was successful.';
} else {
  print 'Payment was not successful.';
}

PurchaseResult还有几个可能有用的方法

$result = $payumoney->completePurchase($_POST);

// Returns Complete, Pending, Failed or Tampered
$result->getStatus(); 

// Returns an array of all the parameters of the transaction
$result->getParams();

// Returns the ID of the transaction
$result->getTransactionId();

// Returns true if the checksum is correct
$result->checksumIsValid();