ajaz / payumoney-payment-gateway-php
一个简单的PayUMoney支付网关集成库
1.0
2020-11-11 10:17 UTC
Requires
- php: >=5.5.0
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();