Step 1: Create New Order (REST API) 🔗

Use the below url to create an order in your (backend) server.

UAT URL: https://uatapiv2.payg.in/payment/api/order

Production URL: https://apiv2.payg.in/payment/api/order

/create


Authorization: basic authentication with base64encoded

PayGAuthentication –
 <MerchantAuthenticationKey>: <MerchantAuthenticationToken>:M: <MID>
  
						
                        
                           {
   
                              "MID": "3EMF9915EF35567",
                              "UniqueRequestId": "TEST512scx3",
                              "UserDefinedData": {
                                  "UserDefined1": ""
                              },
                              "ProductData": "{'PaymentReason':'OnlineOrder for OrderNo- 1234'}",
                              "RequestDateTime": "06232023",
                              "RedirectUrl": "https://payg.in",
                              "TransactionData": {
                                  "AcceptedPaymentTypes": "",
                                  "PaymentType": "",
                                  "SurchargeType": "",
                                  "SurchargeValue": "",
                                  "RefTransactionId": "",
                                  "IndustrySpecificationCode": "",
                                  "PartialPaymentOption": ""
                              },
                              "OrderAmount": "3",
                              "OrderType": "",
                              "OrderAmountData": {
                                  "AmountTypeDesc": "3",
                                  "Amount": "2"
                              },
                              "CustomerData": {
                                  "CustomerId": "123456",
                                  "CustomerNotes": "Mens clothing",
                                  "FirstName": "Ayush",
                                  "LastName": "Rane",
                                  "MobileNo": "7887673322",
                                  "Email": "ayushtesting12@gmail.com",
                                  "EmailReceipt": "true",
                                  "BillingAddress": "76, Sch. 115",
                                  "BillingCity": "Indore",
                                  "BillingState": "MP",
                                  "BillingCountry": "India",
                                  "BillingZipCode": "452011",
                                  "ShippingFirstName": "Ayush",
                                  "ShippingLastName": "Rane",
                                  "ShippingAddress": "76, Sch. 115",
                                  "ShippingCity": "Indore",
                                  "ShippingState": "MP",
                                  "ShippingCountry": "India",
                                  "ShippingZipCode": "452011",
                                  "ShippingMobileNo": "9987887733"
                              },
                              "IntegrationData": {
                                  "UserName": "Ayush",
                                  "Source": "3213",
                                  "IntegrationType": "",
                                  "HashData": "",
                                  "PlatformId": "1"
                              }
                          }
  
 
         
public Process create(HttpServletRequest request) throws IOException {
      Map mapData = new HashMap();
      mapData.put("Merchantkeyid", this.MerchantKeyId);
      mapData.put("UniqueRequestId", Order.generateRandomString(10));
      
      Map uData = new HashMap();
      uData.put("UserDefined1", "");
      mapData.put("UserDefinedData", uData);
      
      SimpleDateFormat dt = new SimpleDateFormat("MMddyyyy");
      mapData.put("RequestDateTime", dt.format(new Date()));
      mapData.put("RedirectUrl", this.RedirectUrl);
      
      Map tranData = new HashMap();
      tranData.put("AcceptedPaymentTypes", "");
      tranData.put("PaymentType", "");
      tranData.put("SurchargeType", "");
      tranData.put("SurchargeValue", "");
      tranData.put("RefTransactionId", "");
      tranData.put("IndustrySpecificationCode", "");
      tranData.put("PartialPaymentOption", "");
      
      mapData.put("TransactionData", tranData);
      
      Map custData = new HashMap();
      Map orderData = new HashMap();
      Map intgData = new HashMap();
      
      for (Entry entry : request.getParameterMap().entrySet()) {
          String name = entry.getKey();
          if (name.startsWith("CustomerData[")) {
              String key = name.substring(name.indexOf('[') + 1, name.indexOf(']')); 
              custData.put(key, entry.getValue()[0]);
          }
          else if (name.startsWith("OrderAmountData[")) {
              String key = name.substring(name.indexOf('[') + 1, name.indexOf(']')); 
              orderData.put(key, entry.getValue()[0]);
          }
          else if (name.startsWith("IntegrationData[")) {
              String key = name.substring(name.indexOf('[') + 1, name.indexOf(']')); 
              intgData.put(key, entry.getValue()[0]);
          }
      }
      mapData.put("CustomerData", custData);
      mapData.put("OrderAmountData", orderData);
      mapData.put("IntegrationData", intgData);

      String auth = this.AuthenticationKey+":"+this.AuthenticationToken+":M:"+this.MerchantKeyId;
      
      String shellcmd = "curl -X POST -d \""+new Gson().toJson(mapData)+"\" "+this.paymentURL+"/create"+" -H \"Content-Type: application/json\" -H \"Authorization:  Basic "+Base64.getEncoder().encodeToString(auth.getBytes("utf-8"))+"\"";
      //System.out.println(shellcmd);
      return Runtime.getRuntime().exec(shellcmd);
   }
   

      
         {
            "OrderKeyId": "93281250227M10404UTEST512scx3",
            "MerchantKeyId": 10121,
            "UniqueRequestId": "TEST512scx3",
            "OrderType": "PAYMENT",
            "OrderAmount": 3,
            "OrderId": null,
            "OrderStatus": null,
            "OrderPaymentStatus": 0,
            "OrderPaymentStatusText": null,
            "PaymentStatus": 0,
            "PaymentTransactionId": null,
            "PaymentResponseCode": 0,
            "PaymentApprovalCode": null,
            "PaymentReasonCode": null,
            "PaymentTransactionRefNo": null,
            "PaymentResponseText": null,
            "PaymentMethod": null,
            "PaymentAccount": null,
            "OrderRefundTransactionId": 0,
            "RefundPaymentResponseCode": 0,
            "RefundPaymentResponseText": null,
            "RefundDateTime": null,
            "CardType": null,
            "CardLevel": null,
            "OrderNotes": null,
            "PaymentDateTime": null,
            "UpdatedDateTime": null,
            "PaymentProcessUrl": "https://uat.payg.in/paymentv6/payment-form?OrderKeyId=93281250227M10404UTEST512scx3",
            "CustomerData": {
                "CustomerId": "123456",
                "CustomerNotes": "Mens clothing",
                "FirstName": "Ayush",
                "LastName": "Rane",
                "MobileNo": "7887673322",
                "Email": "ayushtesting12@gmail.com",
                "EmailReceipt": true,
                "BillingAddress": "76, Sch. 115",
                "BillingCity": "Indore",
                "BillingState": "MP",
                "BillingCountry": "India",
                "BillingZipCode": "452011",
                "ShippingFirstName": "Ayush",
                "ShippingLastName": "Rane",
                "ShippingAddress": "76, Sch. 115",
                "ShippingCity": "Indore",
                "ShippingState": "MP",
                "ShippingCountry": "India",
                "ShippingZipCode": "452011",
                "ShippingMobileNo": "9987887733"
            },
            "ProductData": "{'PaymentReason':'OnlineOrder for OrderNo- 1234'}",
            "OrderPaymentCustomerData": {
                "FirstName": "Ayush",
                "LastName": null,
                "Address": null,
                "City": null,
                "State": null,
                "ZipCode": null,
                "Country": null,
                "MobileNo": "7887673322",
                "Email": "ayushtesting12@gmail.com",
                "UserId": null,
                "IpAddress": null
            },
            "UpiLink": null,
            "OrderPaymentTransactionDetail": null,
            "UserDefinedData": {
                "UserDefined1": "",
                "UserDefined2": null,
                "UserDefined3": null,
                "UserDefined4": null,
                "UserDefined5": null,
                "UserDefined6": null,
                "UserDefined7": null,
                "UserDefined8": null,
                "UserDefined9": null,
                "UserDefined10": null,
                "UserDefined11": null,
                "UserDefined12": null,
                "UserDefined13": null,
                "UserDefined14": null,
                "UserDefined15": null,
                "UserDefined16": null,
                "UserDefined17": null,
                "UserDefined18": null,
                "UserDefined19": null,
                "UserDefined20": null
            },
            "SplitPaymentResponse": null,
            "Id": 93281
        }
         
  
 

Step 2: Payment process url for checkout 🔗

This payment url is used to redirect to actual payment screen.

Developer can redirect either by using javascript or other programming language.

This is a javascript example like window.location="Payment process url"

Step 3: Order Details (API request Parameters) 🔗

      
Authorization: basic authentication with base64encoded
PayGAuthentication –
<MerchantAuthenticationKey>:<MerchantAuthenticationToken>:M:<MID>
      
      

      
         {
            "OrderKeyId": "93281250227M10404UTEST512scx3",
            "MID":"3EMF9915EF35567",
            "PaymentType": ""
        }
 
      
      
      
   public Process enquire(HttpServletRequest request,int orderKeyID,String paymentType) throws IOException {
      Map mapData = new HashMap();
      mapData.put("Merchantkeyid", this.MerchantKeyId);
      mapData.put("OrderKeyID", orderKeyID);
      mapData.put("PaymentType", paymentType);
      
      String auth = this.AuthenticationKey+":"+this.AuthenticationToken+":M:"+this.MerchantKeyId;
      String shellcmd = "curl -X POST -d \""+ new Gson().toJson(mapData)+"\" "+this.paymentURL+"/Detail"+" -H \"Content-Type: application/json\" -H \"Authorization:  Basic "+Base64.getEncoder().encodeToString(auth.getBytes("utf-8"))+"\"";
      return Runtime.getRuntime().exec(shellcmd);
   }
}
      
      

      
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL =>'uatapiv2.payg.in/payment/api/order/Detail',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING =>   "", 
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>$payload_data,
  CURLOPT_HTTPHEADER => $header,
));

$response = curl_exec($curl);
curl_close($curl);
 
      
      

      
         {
            "OrderKeyId": "93281250227M10404UTEST512scx3",
            "MerchantKeyId": 10121,
            "UniqueRequestId": "TEST512scx3",
            "OrderType": "PAYMENT",
            "OrderAmount": 3.00,
            "OrderId": null,
            "OrderStatus": "1",
            "OrderPaymentStatus": 0,
            "OrderPaymentStatusText": "Paid",
            "PaymentStatus": 0,
            "PaymentTransactionId": "767926",
            "PaymentResponseCode": 1,
            "PaymentApprovalCode": null,
            "PaymentReasonCode": null,
            "PaymentTransactionRefNo": null,
            "PaymentResponseText": "Approved",
            "PaymentMethod": "CreditCard",
            "PaymentAccount": "41111 - XXXX - 1111",
            "OrderRefundTransactionId": 0,
            "RefundPaymentResponseCode": 0,
            "RefundPaymentResponseText": null,
            "RefundDateTime": null,
            "CardType": null,
            "CardLevel": null,
            "OrderNotes": "Internal",
            "PaymentDateTime": "2/27/2025 1:57:09 PM",
            "UpdatedDateTime": "2/27/2025 1:52:35 PM",
            "PaymentProcessUrl": null,
            "CustomerData": {
                "CustomerId": "123456",
                "CustomerNotes": "Mens clothing",
                "FirstName": "Ayush",
                "LastName": "Rane",
                "MobileNo": "7887673322",
                "Email": "ayushtesting12@gmail.com",
                "EmailReceipt": false,
                "BillingAddress": "76, Sch. 115",
                "BillingCity": "Indore",
                "BillingState": "MP",
                "BillingCountry": "India",
                "BillingZipCode": "452011",
                "ShippingFirstName": "Ayush",
                "ShippingLastName": "Rane",
                "ShippingAddress": "76, Sch. 115",
                "ShippingCity": "Indore",
                "ShippingState": null,
                "ShippingCountry": "India",
                "ShippingZipCode": "452011",
                "ShippingMobileNo": "9987887733"
            },
            "ProductData": "{'PaymentReason':'OnlineOrder for OrderNo- 1234'}",
            "OrderPaymentCustomerData": null,
            "UpiLink": null,
            "OrderPaymentTransactionDetail": [
                {
                    "OrderKeyId": "93281250227M10404UTEST512scx3",
                    "MerchantKeyId": 10404,
                    "TransactionId": 767926,
                    "ResponseCode": 1,
                    "ResponseText": "Approved",
                    "TransactionAmount": 3.00
                }
            ],
            "UserDefinedData": {
                "UserDefined1": "",
                "UserDefined2": null,
                "UserDefined3": null,
                "UserDefined4": null,
                "UserDefined5": null,
                "UserDefined6": null,
                "UserDefined7": null,
                "UserDefined8": null,
                "UserDefined9": null,
                "UserDefined10": null,
                "UserDefined11": null,
                "UserDefined12": null,
                "UserDefined13": null,
                "UserDefined14": null,
                "UserDefined15": null,
                "UserDefined16": null,
                "UserDefined17": null,
                "UserDefined18": null,
                "UserDefined19": null,
                "UserDefined20": null
            },
            "SplitPaymentResponse": null,
            "Id": 93281
        }
         
      
      
Note: Please check the payment status codes from this URL Payment Response codes Note: Please check the error codes from this URL Error codes