gdbhosale/paywitheasebuzz-php

pay.easebuzz.in 的 PHP 包集成工具

1.0.4 2023-03-15 06:48 UTC

This package is auto-updated.

Last update: 2024-09-11 11:26:16 UTC


README

PHP Laravel 包,用于 Easebuzz 支付网关 pay.easebuzz.in

软件要求

在测试/开发/生产环境中设置 php 工具包,请安装以下软件

  1. PHP 5.5 或更高版本

工具包集成 Easebuzz 文档

https://docs.easebuzz.in/

安装

A. 通过 composer 安装

composer require gdbhosale/paywitheasebuzz-php

B. 使用方法

use Easebuzz\Easebuzz;

$MERCHANT_KEY = "10PBP71ABZ2";
$SALT = "ABC55E8IBW";         
$ENV = "test";   // set enviroment name : test / development / production

$easebuzzObj = new Easebuzz($MERCHANT_KEY, $SALT, $ENV);

Easebuzz API 调用

  1. 启动支付 API

    POST 格式和调用 initiatePaymentAPI

    $postData = array ( 
        "txnid" => "T3SAT0B5OL", 
        "amount" => "100.0", 
        "firstname" => "jitendra", 
        "email" => "test@gmail.com", 
        "phone" => "1231231235", 
        "productinfo" => "Laptop", 
        "surl" => "http://localhost:3000/response.php", 
        "furl" => "http://localhost:3000/response.php", 
        "udf1" => "aaaa", 
        "udf2" => "aaaa", 
        "udf3" => "aaaa", 
        "udf4" => "aaaa", 
        "udf5" => "aaaa", 
        "address1" => "aaaa", 
        "address2" => "aaaa", 
        "city" => "aaaa", 
        "state" => "aaaa", 
        "country" => "aaaa", 
        "zipcode" => "123123" 
    );
    
    $easebuzzObj->initiatePaymentAPI($postData);    
    

    高级参数

    • "sub_merchant_id" : - 如果您使用子聚合功能则为必填参数,否则不是必填参数。在此处输入子聚合 ID。您可以从 Easebuzz 控制台 Web 站点创建子聚合器。

    • "unique_id" : - 如果您使用客户保存卡片功能则为必填参数,否则不是必填参数。这是客户的唯一 ID。您需要从 Easebuzz 控制台 Web 站点启用保存卡片功能。

    • "split_payments" : - 如果您使用拆分支付功能则为必填参数,否则不是必填参数。您需要在此处以 JSON 格式传递支付时段,例如 {"label_HDFC": 100,"label_icici":100},请使用 Easebuzz 团队提供的标签。

      e.g. "split_payments" => { "axisaccount" : 100, "hdfcaccount" : 100}
      
  2. 交易 API

    POST 格式和调用交易 API

    $postData = array ( 
        "txnid" => "TZIF0SS24C",
        "amount" => "1.03",
        "email" => "test@gmail.com",
        "phone" => "1231231235"
    );
    
    $result = $easebuzzObj->transactionAPI($postData);    
    
  3. 按日期的交易 API

    POST 格式和调用 transactionDateAPI

    $postData = array( 
        "merchant_email" => "jitendra@gmail.com",
        "transaction_date" => "06-06-2018" 
    );
    
    $result = $easebuzzObj->transactionDateAPI($postData);
    
  4. 退款 API

    POST 格式和调用 refundAPI

    $postData = array( 
        "txnid" => "ASD20088",
        "refund_amount" => "1.03",
        "phone" => "1231231235",
        "email" => "test@gmail.com",
        "amount" => "1.03" 
    );
    
    $result = $easebuzzObj->refundAPI($postData);    
    
  5. 支付 API

    POST 格式和调用 payoutAPI

    $postData = array( 
        "merchant_email" => "jitendra@gmail.com",
        "payout_date" => "08-06-2018" 
    );
    
    $result = $easebuzzObj->payoutAPI($postData);
    
  6. 处理启动支付 API 响应

    注意:启动支付 API 响应将在成功 URL 或失败 URL 获取

    1. 导入 Easebuzz 库
      use Easebuzz\Easebuzz;
      
    2. 设置 $SALT
      $SALT = "ABC55E8IBW";
      
    3. 创建 Easebuzz 类对象并传递 $SALT。
      $easebuzzObj = new Easebuzz($MERCHANT_KEY = null, $SALT, $ENV = null);
      
    4. 调用 Easebuzz 类方法或函数
      $result = $easebuzzObj->easebuzzResponse($_POST);
      
  7. 如果服务器不支持 header():-

    注意:请按照以下步骤操作。

    1. 转到路径 easebuzz-lib/payment.php

    2. 打开 payment.php 文件

    3. 转到函数 _paymentResponse($result) 并取消注释以下代码。

      function _paymentResponse($result){
      
          if ($result->status === 1){
              // first way (comment below line)
              // header( 'Location:' . $result->data );
      
              // second way (un-comment below code)
              echo "
              <script type='text/javascript'>
                      window.location ='".$result->data."'
              </script>
              ";
      
      
              exit(); 
          }else{
              //echo '<h3>'.$result['data'].'</h3>';
              print_r(json_encode($result));
          }
      }
      
  8. 如果需要在 php 工具包中启用 ease checkout(iframe):-

    注意:请按照以下步骤操作.*

    1. 转到路径 easebuzz-lib/easebuzz_payment_gateway.php

    2. 打开 easebuzz_payment_gateway.php 文件

    3. 转到函数 initiatePaymentAPI($params, $redirect=False) 并更改以下代码。

      public function initiatePaymentAPI($params, $redirect=False) {
          return initiate_payment($params, $redirect, $this->MERCHANT_KEY, $this->SALT, $this->ENV);
      }
      
    4. $redirect 参数为 False 以启用 ease checkout(iframe)。

    5. $redirect 参数为 True 以启用托管 checkout。