Integration
Merchant Integration Guide
All the tools you need to connect your website or app to the Noqoody payment gateway.
1. Overview
This document provides Noqoody specification including integration with merchant website, and specification of initializing payment process. This document also provides HTTP API used to get payment token, validating payment request, as well as payment response with HTTP API specification.
2. Authentication and Security
Noqoody payment gateway exchanges data between merchant and gateway in the form of Request and Response. All communications with Noqoody are encrypted with an external layer of encryption “SSL”. Once you are enrolled in Noqoody, you will be provided with a unique UserID for both a sandbox and a production environment. The production UserID will be provided upon successful completion of your sandbox integration. Please note that the UserID is not interchangeable. It is the merchant’s responsibility to keep the credentials in a secure and hidden environment.
4.1 Token
To start using Noqoody Payment Services, first call the following API to receive the bearer token.
API
https://noqoodypay.com/sdk/tokenRequest
POST /sdk/token HTTP/1.1
Host: noqoodypay.com
Content-Length: 72
grant_type=password&username=noqoody_user_name&password=noqoody_passwordResponse
{
"access_token": "access_token",
"token_type": "bearer",
"expires_in": 1209599,
"userName": "user_name",
"Name": "name_on_noqoody_account",
"Role": "user_role",
"ImageLocation": "logo_on_noqoody_account",
"Email": "name_on_noqoody_account",
".issued": "Sun, 07 Aug 2022 07:38:57 GMT",
".expires": "Sun, 21 Aug 2022 07:38:57 GMT"
}4.2 Generate Link & Session
This API will generate the payment URL which will redirect the user to Noqoody where the payment will be handled automatically by the Noqoody Payment System, or the SessionID and UUID can be used in section 4.3 for generating the links separately if you are looking for a custom solution.
4.2.1 Generate Secure Hash (SHA256) — Format: {CustomerEmail}{CustomerName}{CustomerMobile}{Description}{ProjectCode}{Reference}. You will need the Client Secret Key as the key value to generate the secure hash. The client secret is sent via email to the registered account; for sandbox, the secret key is available in the portal provided by the Technical Support Team.
Request
POST /sdk/api/PaymentLink/GenerateLinks HTTP/1.1
Host: noqoodypay.com
{
"ProjectCode": "your_project_code",
"Description": "order_description_less_than_40_characters",
"Amount": "45.00",
"CustomerEmail": "customers_email",
"CustomerMobile": "customers_mobile_number",
"CustomerName": "customers_name",
"SecureHash": "secure_hash",
"Reference": "reference_id"
}Response
{
"PaymentUrl": "https://sandbox.noqoodypay.com/test/payment.html?SessionID=...&uuid=136852454",
"ProjectCode": "project_code",
"Reference": "your_custom_unique_reference",
"Description": "Order_Description",
"Amount": 36,
"SessionId": "8116ba10-1a25-457e-a818-vcaa323kjdfs",
"Uuid": "136852454",
"success": true,
"code": "OK",
"message": "Payment Link Generated",
"errors": []
}4.3 Generate Payment Options
The response contains payment links for Credit Card, Debit Card, PayPal, Google Pay™, Ooredoo and Vodafone.
Request
GET /sdk/api/PaymentLink/PaymentChannels?SessionID=sessionid_here&uuid=uuid_here HTTP/1.1
Host: noqoodypay.comResponse
{
"PaymentChannels": [
{
"ID": 0,
"ChannelName": "Payment_Channel_Name",
"ImageLocation": "Payment_Channel_Image",
"PaymentURL": "Payment_URL_Used_for_redirecting_customer"
}
],
"TransactionDetail": {
"MerchantName": "Company_name_on_noqoody_account",
"Amount": 36,
"Reference": "your_custom_unique_reference",
"CustomerEmail": "example@gmail.com",
"CustomerMobile": "12345678",
"MerchantLogo": "your_company_logo_url"
},
"success": true,
"code": "200",
"errors": []
}4.4 Validate Payment
Request
GET /sdk/api/Members/GetTransactionDetailStatusByClientReference/?ReferenceNo={your_unique_reference} HTTP/1.1
Host: www.noqoodypay.comResponse (Successful)
{
"TransactionID": "00000",
"Amount": 1.0000,
"TransactionDate": "2022-05-17T09:02:30.097",
"TransactionStatus": "0000",
"Reference": "your_custom_unique_reference",
"ServiceName": "Payment_Channel_Name",
"TransactionMessage": "Payment processed successfully.",
"PUN": "noqoody_bank_reference",
"InvoiceNo": "invoice_number",
"success": true,
"code": "OK",
"message": "Transaction Found",
"errors": []
}Response (Failure)
{
"TransactionID": "00000",
"Amount": 36.0000,
"TransactionStatus": "2996",
"TransactionMessage": "Canceled before payment method selection.",
"success": false,
"code": "OK",
"message": "Transaction Found",
"errors": []
}Downloads & references
Apply for an account in minutes
Get your Noqoody account today!
