ajaygawade/testaipay

dev-main 2024-03-07 12:03 UTC

This package is auto-updated.

Last update: 2024-09-07 12:57:39 UTC


README

NTT DATA Payment Service 的官方 AIPAY-CorePHP 库。

先决条件

  • 至少 PHP 7.3 到 8.1

安装

  • 如果你的项目使用 composer,请运行以下命令
    composer require ndps/corephp:dev-main  
    
  • 如果你不使用 composer,从发布部分下载最新版本。你应该从 atomlite/aipay-corephp 下载 aipay-corephp.zip 文件,并将其放置在 vendor 文件夹中。

如何使用它

  • 要打开支付弹出窗口,我们需要从下面的 JavaScript CDN 中调用 JavaScript 函数 openPay()

    UAT

    <script src="https://pgtest.atomtech.in/staticdata/ots/js/atomcheckout.js"></script>
    

    PROD

    <script src="https://psa.atomtech.in/staticdata/ots/js/atomcheckout.js"></script>
    
  • 要调用 openPay(),我们需要传递以下详细信息。

    <script>
          function openPay(){
              const options = {
              "atomTokenId": "11000000509998",
              "merchId": "65df273b53f05",
              "custEmail": "Test124@ndps.com",
              "custMobile": "9999999999",
              "returnUrl":"Your return URL for response handling"
              }
              let atom = new AtomPaynetz(options,'uat');
          }
      </script>
    

    custEmail: 客户的电子邮件地址。
    custMobile: 客户的手机号码。
    returnUrl: 支付网关将响应发布的 URL。
    merchId: NDPS 提供的商家 ID。
    atomTokenId: 调用 getAtomtokenId() 获取 atomTokenId。

    注意:所有五个参数都是必需的。

  • 要调用 getAtomtokenId()

          include_once 'vendor/autoload.php';
          $transactionRequest = new \NDPS\TransactionRequest();
    
          $merchTxnId = uniqId();
    
          /*
          *Setting all values here
          */
          $transactionRequest->setMerchId("8952");  // Id provided by NDPS
          $transactionRequest->setPassword("Test@123");
          $transactionRequest->setMerchTxnId($merchTxnId);
          $transactionRequest->setMerchTxnDate("2021-09-04 20:46:00");
          $transactionRequest->setAmount("10.00");
          $transactionRequest->setProduct("NSE");
          $transactionRequest->setCustAccNo("213232323");
          $transactionRequest->setTxnCurrency("INR");
          $transactionRequest->setCustEmail("Test@ndps.com");
          $transactionRequest->setCustMobile("8989898989");
          $transactionRequest->setUDF1("udf1");
          $transactionRequest->setUDF2("udf2");
          $transactionRequest->setUDF3("udf3");
          $transactionRequest->setUDF4("udf4");
          $transactionRequest->setUDF5("udf5");
          $transactionRequest->setRequestEncypritonKey("A4476C2062FFA58980DC8F79EB6A799E");
          $transactionRequest->setResponseEncryptionKey("75AEF0FA1B94B3C10D4F5B268F757F11");
          $transactionRequest->setIsLive("false");
    
          //To get the atomTokenId
          $atomTokenId = $transactionRequest->getAtomtokenId(); 
    
  • 在返回 URL 上处理响应部分。

  • 要处理响应,请使用以下函数,该函数将返回最终响应数组。

         include_once 'vendor/autoload.php';
         $ndpsenc = new \NDPS\AtomAES();
     
         $respKey = "75AEF0FA1B94B3C10D4F5B268F757F11"; //Response Key provided by NDPS
         $data = $_POST['encData'];
         $decrypted = $ndpsenc->decrypt($data, $respKey, $respKey);
         $jsonData = json_decode($decrypted, true);
         print_r($jsonData);