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.

3. Merchant Authorization

Noqoody requires user identification for each transaction level authentication and authorization.

4.1 Token

To start using Noqoody Payment Services, first call the following API to receive the bearer token.

API

https://noqoodypay.com/sdk/token

Request

POST /sdk/token HTTP/1.1
Host: noqoodypay.com
Content-Length: 72
grant_type=password&username=noqoody_user_name&password=noqoody_password

Response

{
    "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.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.com

Response

{
    "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.com

Response (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!