Paysure Open API (1.0.0)
The Paysure Open APIs allows you to access Interfaces on the Paysure infrasturcture made available. This infrasturcture interface is implemented as a RESTful web service.
Authentication: Every endpoint is authenticated using the jwt token returned from the auth endpoint call, send the jwt token in the request header as "Authorization": "Bearer TOKEN" . This token expires every 5 minutes.
**Base URL:**Live: https://webapi.paysure.ng/api/v1
Test: https://sandbox.paysure.ng/api/v1/dev
Api Response:All endpoints will return a standard JSON formatted as follows:
{- "status": "00",
- "message": "message",
- "data": || [],
- "date": "2023-07-18T18:19:00"
}
Standard HTTP response code will be returned "1xx, 2xx, 3xx, 4xx, 5xx"
Auth
Authentication
Authentication is a requirement to accessing other resources. This endpoint returns a token which you would provide as Bearer Token for Authorization Header.
REQUEST BODY SCHEMA: application/json
string
string
string
Response
RESPONSE HEADERS
string
Example:"no-cache, no-store, max-age=0, must-revalidate"
string
Example:"keep-alive"
string
Example:"Wed, 09 Aug 2023 21:35:50 GMT"
string
Example:"0"
string
Example:"timeout=60"
string
Example:"no-cache"
string
Example:"max-age=31536000 ; includeSubDomains"
string
Example:"chunked"
string
Example:"nosniff"
string
Example:"DENY"
string
Example:"1; mode=block"
REQUEST BODY SCHEMA: application/json
string
https://webapi.paysure.ng/api/v1/payments/mer/generate-account
https://your-webhook-url.tdl/payments/authenticate
https://payments.paysure.ng/payments/authenticate
Content type
application/json
{- "appId": "3da8a7fb-4b81-8765-90c7-07e49912b542"
- "paymentSecret": "5eaYRjsd1msq7DJO"
- "publicKey": "LIVE_EW0UU0GXEPTTXNGF"
}
Response Sample
Content type
application/json
{- "token": "your_token"
}
Wallets
Generate Wallet
This endpoint facilitates creating of wallets.
REQUEST BODY SCHEMA: application/json
string
string
string
object
- email
string
- name
string
- phone
string
string
number
string
string
string
Response
RESPONSE HEADERS
string
Example:"no-cache, no-store, max-age=0, must-revalidate"
string
Example:"keep-alive"
string
Example:"Fri, 11 Aug 2023 11:39:50 GMT"
string
Example:"0"
string
Example:"timeout=60"
string
Example:"no-cache"
string
Example:"max-age=31536000 ; includeSubDomains"
string
Example:"chunked"
string
Example:"nosniff"
string
Example:"DENY"
string
Example:"1; mode=block"
RESPONSE SCHEMA: application/json
string
- account_number
string
- bank
string
- name
string
number
RESPONSE HEADERS
string
Example:"no-cache, no-store, max-age=0, must-revalidate"
string
Example:"close"
string
Example:"Thu, 10 Aug 2023 13:00:09 GMT"
string
Example:"0"
string
Example:"no-cache"
string
Example:"max-age=31536000 ; includeSubDomains"
string
Example:"chunked"
string
Example:"nosniff"
string
Example:"DENY"
string
Example:"1; mode=block"
RESPONSE SCHEMA: application/json
string
string
number
https://webapi.paysure.ng/api/v1/payments/mer/generate-account
https://your-webhook-url.tdl/payments/mer/generate-account
https://payments.paysure.ng/payments/mer/generate-account
Content type
application/json
{- "accountType":"STATIC",
- "country":"NG",
- "currency":"NGN",
- "description":"testing the wallet",
- "hours":"1",
- "customer":{
- "email":"test@maildrop.cc",
- "name":"tester",
- "phone":"09099889988",
}, - "name":"test wallet",
- "provider":"WEMA",
- "requestId":"126g12t7g76"
}
Response Samples
Content type
application/json
{- "data":{
- "account_number":"7370001002",
- "bank":"Wema Bank",
- "name":"string Test",
}, - "status":200
}
Content type
application/json
{- "errorMessage":"Invalid Account block",
- "message":"Bad Request",
- "status":400
}
Wallet Balance
Get wallet balance.
Query parameters
string
Example:acc=7370001002
Responses
RESPONSE HEADERS
string
Example:"no-cache, no-store, max-age=0, must-revalidate"
string
Example:"keep-alive"
string
Example:"Fri, 11 Aug 2023 11:44:40 GMT"
string
Example:"0"
string
Example:"timeout=60"
string
Example:"no-cache"
string
Example:"max-age=31536000 ; includeSubDomains"
string
Example:"chunked"
string
Example:"nosniff"
string
Example:"DENY"
string
Example:"1; mode=block"
RESPONSE SCHEMA: application/json
number
RESPONSE HEADERS
string
Example:"no-cache, no-store, max-age=0, must-revalidate"
string
Example:"close"
string
Example:"Thu, 10 Aug 2023 13:00:09 GMT"
string
Example:"0"
string
Example:"no-cache"
string
Example:"max-age=31536000 ; includeSubDomains"
string
Example:"chunked"
string
Example:"nosniff"
string
Example:"DENY"
string
Example:"1; mode=block"
RESPONSE SCHEMA: application/json
string
string
number
https://webapi.paysure.ng/api/v1/payments/mer/balance
https://your-webhook-url.tdl/payments/mer/balance
https://payments.paysure.ng/payments/mer/balance
Response Samples
Content type
application/json
{- "status":200
}
Content type
application/json
{- "errorMessage":"Invalid Account block",
- "message":"Bad Request",
- "status":400
}
Wallet History
Get wallet history.
Query parameters
string
Example:account=7370001002
string
Example:sDate=1-Aug-2023
string
Example:eDate=12-Aug-2023
string
Example:pageNo=1
string
Example:pageSize=20
Responses
RESPONSE HEADERS
string
Example:"no-cache, no-store, max-age=0, must-revalidate"
string
Example:"close"
string
Example:"Wed, 09 Aug 2023 22:10:16 GMT"
string
Example:"0"
string
Example:"no-cache"
string
Example:"max-age=31536000 ; includeSubDomains"
string
Example:"chunked"
string
Example:"nosniff"
string
Example:"DENY"
string
Example:"1; mode=block"
RESPONSE SCHEMA: application/json
string
string
number
https://webapi.paysure.ng/api/v1/payments/mer/history
https://your-webhook-url.tdl/payments/mer/history
https://payments.paysure.ng/payments/mer/history
Response Samples
Content type
application/json
{- "data":"No value present",
- "message":"Bad Request",
- "status":400
}
Fund Transfer
This endpoint facilitates inter wallet transfer.
REQUEST BODY SCHEMA: application/json
number
string
string
string
string
string
string
Responses
https://webapi.paysure.ng/api/v1/payments/mer/wallet/transfer
https://your-webhook-url.tdl/payments/mer/wallet/transfer
https://payments.paysure.ng/payments/mer/wallet/transfer
Request Samples
Content type
application/json
{- "amount":0,
- "destinationAccountName":"string",
- "destinationAccountNumber":"string",
- "narration":"string",
- "originatorName":"string",
- "requestId":"string",
- "sourceAccountNo":"string"
}
Transfers
Account Balance
Get wallet balance.
Query parameters
string
Example:acc=7370001002
Response
RESPONSE HEADERS
string
Example:"no-cache, no-store, max-age=0, must-revalidate"
string
Example:"keep-alive"
string
Example:"Fri, 11 Aug 2023 11:44:40 GMT"
string
Example:"0"
string
Example:"timeout=60"
string
Example:"no-cache"
string
Example:"max-age=31536000 ; includeSubDomains"
string
Example:"chunked"
string
Example:"nosniff"
string
Example:"DENY"
string
Example:"1; mode=block"
RESPONSE SCHEMA: application/json
number
RESPONSE HEADERS
string
Example:"no-cache, no-store, max-age=0, must-revalidate"
string
Example:"close"
string
Example:"Wed, 09 Aug 2023 22:06:43 GMT"
string
Example:"0"
string
Example:"no-cache"
string
Example:"max-age=31536000 ; includeSubDomains"
string
Example:"chunked"
string
Example:"nosniff"
string
Example:"DENY"
string
Example:"1; mode=block"
RESPONSE SCHEMA: application/json
string
string
number
https://webapi.paysure.ng/api/v1/payments/inter-bank/balance
https://your-webhook-url.tdl/payments/inter-bank/balance
https://payments.paysure.ng/payments/inter-bank/balance
Response Samples
Content type
application/json
{- "status":200
}
Content type
application/json
{- "data":"0",
- "message":"Bad Request",
- "status":400
}
Account Statement
Get wallet history.
Query parameters
string
Example:account=7370001002
string
Example:sDate=1-Aug-2023
string
Example:eDate=12-Aug-2023
string
Example:pageNo=1
string
Example:pageSize=20
Responses
RESPONSE HEADERS
string
Example:"no-cache, no-store, max-age=0, must-revalidate"
string
Example:"close"
string
Example:"Wed, 09 Aug 2023 22:10:16 GMT"
string
Example:"0"
string
Example:"no-cache"
string
Example:"max-age=31536000 ; includeSubDomains"
string
Example:"chunked"
string
Example:"nosniff"
string
Example:"DENY"
string
Example:"1; mode=block"
RESPONSE SCHEMA: application/json
string
string
number
https://webapi.paysure.ng/api/v1/payments/inter-bank/accountstatement
https://your-webhook-url.tdl/payments/inter-bank/accountstatement
https://payments.paysure.ng/payments/inter-bank/accountstatement
Response Samples
Content type
application/json
{- "data":"No value present",
- "message":"Bad Request",
- "status":400
}
Account Lookup
Provision for intra-bank account name enquiry.
REQUEST BODY SCHEMA: application/json
string
string
string
Responses
https://webapi.paysure.ng/api/v1/payments/inter-bank/accountlookup
https://your-webhook-url.tdl/payments/inter-bank/accountlookup
https://payments.paysure.ng/payments/inter-bank/accountlookup
Request Samples
Content type
application/json
{- "accountNumber":"test",
- "destinationInstitutionCode":"test",
- "requestId":"22222222222"
}
Fetch Financial Institutions
Gets the list of banks.
Responses
https://webapi.paysure.ng/api/v1/payments/inter-bank/financial-institutions
https://your-webhook-url.tdl/payments/inter-bank/financial-institutions
https://payments.paysure.ng/payments/inter-bank/financial-institutions
Fund Transfer
This endpoint facilitates inter wallet transfer.
REQUEST BODY SCHEMA: application/json
number
string
string
string
string
string
string
Responses
https://webapi.paysure.ng/api/v1/payments/inter-bank/fundtransfer
https://your-webhook-url.tdl/payments/inter-bank/fundtransfer
https://payments.paysure.ng/payments/inter-bank/fundtransfer
Request Samples
Content type
application/json
{- "amount":0,
- "destinationAccountName":"string",
- "destinationAccountNumber":"string",
- "narration":"string",
- "originatorName":"string",
- "requestId":"string",
- "sourceAccountNo":"string"
}
Transaction Status Query
Perform transaction status enquiry.
Query parameters
string
Example:referenceNumber=127656471276817788
Responses
https://webapi.paysure.ng/api/v1/payments/inter-bank/transactionstatusquery
https://your-webhook-url.tdl/payments/inter-bank/transactionstatusquery
https://payments.paysure.ng/payments/inter-bank/transactionstatusquery
Webhook
You are required to supply a webhook URL to receive progressive updates for transactions. Your webhook should be able to process the request body (json) as seen here.
REQUEST BODY SCHEMA: application/json
string
string
string
string
string
string
string
string
string
string
string
Responses
https://webapi.paysure.ng/api/v1/
https://your-webhook-url.tdl/
https://payments.paysure.ng/
Request Samples
Content type
application/json
{- "accountName":"string",
- "accountNumber":"string",
- "amount":"string",
- "narrations":"string",
- "payingBank":"string",
- "recipientName":"string",
- "senderName":"string",
- "sessionId":"string",
- "transactionDate":"string",
- "transactionReference":"string",
- "transactionType":"string"
}
Checkout
The Paysure Checkout page allows you to receive payments from customers using the custom checkout page provisioned by Paysure.
Query parameters
string
Example:k=live_AVRxEoTWMBEqY6cQ
public key
string
Example:a=50
amount
string
Example:e=example%40gmail.com
email
string
Example:n=Tobi
name
string
Example:p=08012345678
phone number
Responses
https://webapi.paysure.ng/api/v1/checkout/gateway
https://your-webhook-url.tdl/checkout/gateway
https://payments.paysure.ng/checkout/gateway