PAYCommercial ยท NETS

NETS eNETS / NETS QR API

Singapore's domestic payment network: eNETS online banking payments, NETS QR and NETS click for cards. The way to accept NETS, which many local customers still prefer.

How to authenticate

4 stops to a working call

  1. 1Register on the NETS developer portal (developer.nets.com.sg).
  2. 2Create an app to obtain sandbox API key and project credentials.
  3. 3Sign requests per the docs (MAC/HMAC over the payload with your secret).
  4. 4Apply to NETS to become a merchant before going live; production credentials come with the merchant agreement.

Example request

Request
curl -X POST 'https://uat-api.nets.com.sg/uat/merchantservices/qr/dynamic/v1/order/request' -H 'api-key: YOUR_KEY' -H 'project-id: YOUR_PROJECT' -H 'Content-Type: application/json' -d '{"txn_id":"TEST123","amt_in_dollars":1.00}'

Example response

Response (truncated)
{"response_code":"00","txn_status":"0","qr_code":"iVBORw0KGgo..."}

NETS eNETS / NETS QR API: common questions

Is the NETS eNETS / NETS QR API free?

The NETS eNETS / NETS QR API is listed as contact. Check the official NETS docs for current pricing.

Does the NETS eNETS / NETS QR API need an API key?

Yes. It uses API key. Register on the NETS developer portal (developer.nets.com.sg). Create an app to obtain sandbox API key and project credentials. Sign requests per the docs (MAC/HMAC over the payload with your secret). Apply to NETS to become a merchant before going live; production credentials come with the merchant agreement.

What is the NETS eNETS / NETS QR API endpoint?

The base URL is https://uat-api.nets.com.sg. A working example: curl -X POST 'https://uat-api.nets.com.sg/uat/merchantservices/qr/dynamic/v1/order/request' -H 'api-key: YOUR_KEY' -H 'project-id: YOUR_PROJECT' -H 'Content-Type: application/json' -d '{"txn_id":"TEST123","amt_in_dollars":1.00}'

Notes for AI agents

Sandbox is self-serve but production strictly requires a signed NETS merchant agreement. QR codes are returned base64-encoded; poll the query endpoint or use webhooks for payment status.

Machine-readable version: /api/apis/nets-enets

On the same line