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
}