Download OpenAPI specification:Download
Developmenthttps://store-hub-api-develop.myepis.cloud
(Testing and staging)
Productionhttps://store-hub-api.myepis.cloud
(Live traffic)
| Header | Description |
|---|---|
x-api-key |
Merchant API key |
x-request-id |
Unique request identifier |
x-api-signature |
Generated HMAC-SHA256 signature |
x-timestamp |
Current UTC timestamp |
x-api-key in all requestsx-api-key: ak_1234567890abcdefx-api-signature = HMAC-SHA256(secretKey, x-request-id + "." + x-timestamp)
secretKey - it's only shown once during API key creationtimestamp (UTC milliseconds) in the payloadAll API responses:
200 status code {
"errorCode": "SUCCESS|ERROR_CODE",
"data": { ... }, // or null
"message": "Optional description"
}
Interpret results using errorCode not HTTP status
| Code | Name | Description |
|---|---|---|
| 0 | SUCCESS | Operation completed successfully |
| 4000 | BAD_PAYLOAD | Invalid request parameters/body |
| 4100 | UNAUTHORIZED | Authentication credentials invalid |
| 4101 | INACTIVE | API key/account inactive |
| 5000 | NOT_AVAILABLE | Service temporarily unavailable |
Always check the errorCode field rather than HTTP status codes
| timestamp required | integer <int64> >= 0 Current UTC timestamp (milliseconds)
Example value: |
| transactionId required | string Unique identifier for the store request. |
| currency required | string Default: "AUD" Enum: "AUD" "EUR" "USD" Transaction currency.
|
required | Array of objects (TransactionItemModel) non-empty Transaction items
|
required | object (StoreModel) Merchant details
|
required | object (PayerModel) Customer information
|
| discount | number >= 0 Optional discount amount |
| returnUrl | string <uri>
|
| cancelUrl | string <uri>
|
{- "timestamp": 1693324800000,
- "transactionId": "txn_12345",
- "currency": "AUD",
- "items": [
- {
- "name": "Premium Widget",
- "amount": "29.99",
- "quantity": "2"
}
], - "store": {
- "id": "store_1234567890abcdef",
- "name": "Tech Store",
- "email": "store@tech.com",
- "slug": "string",
- "applicationId": "string"
}, - "payer": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@email.com",
- "address": {
- "line": "123 Main Street",
- "street": "Downtown District",
- "city": "Sydney",
- "state": "NSW",
- "country": "Australia",
- "zipCode": "2000"
}
}, - "discount": 5.99,
}{- "errorCode": 0,
- "data": {
- "code": "1741519556587",
- "partnerTransactionId": "test33146",
- "status": 9,
- "amount": 10,
- "discount": 1,
- "currency": "AUD",
- "items": [
- {
- "name": "test",
- "amount": 1000,
- "quantity": 1,
- "createdAt": "2025-03-09T11:25:56.590Z",
- "updatedAt": "2025-03-09T11:25:56.590Z",
- "id": "95c85df8-6d27-4a64-98bb-48f4963e4c30"
}
], - "metadata": {
- "payer": {
- "firstName": "test",
- "lastName": "hello",
- "email": "test@demo.com"
}
},
}, - "message": "Transaction created successfully"
}{- "errorCode": 100,
- "data": {
- "code": "1741519556587",
- "partnerTransactionId": "test33146",
- "status": 9,
- "amount": 10,
- "discount": 1,
- "currency": "AUD",
- "items": [
- {
- "name": "test",
- "amount": 1000,
- "quantity": 1,
- "createdAt": "2025-03-09T11:25:56.590Z",
- "updatedAt": "2025-03-09T11:25:56.590Z",
- "id": "95c85df8-6d27-4a64-98bb-48f4963e4c30"
}
], - "metadata": {
- "payer": {
- "firstName": "test",
- "lastName": "hello",
- "email": "test@demo.com"
}
}
}
}| timestamp required | integer <int64> >= 0 Current UTC timestamp (milliseconds)
Example value: |
| transactionId required | string Unique identifier for the store request. |
| method required | string Value: "CARD" |
| currency required | string Default: "AUD" Enum: "AUD" "EUR" "USD" Transaction currency.
|
required | Array of objects (TransactionItemModel) non-empty Transaction items
|
required | object (StoreModel) Merchant details
|
required | object (PayerModel) Customer information
|
| discount | number >= 0 Optional discount amount |
| returnUrl | string <uri>
|
| cancelUrl | string <uri>
|
{- "timestamp": 1693324800000,
- "transactionId": "txn_12345",
- "method": "CARD",
- "currency": "AUD",
- "items": [
- {
- "name": "Premium Widget",
- "amount": "29.99",
- "quantity": "2"
}
], - "store": {
- "id": "store_1234567890abcdef",
- "name": "Tech Store",
- "email": "store@tech.com",
- "slug": "string",
- "applicationId": "string"
}, - "payer": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@email.com",
- "address": {
- "line": "123 Main Street",
- "street": "Downtown District",
- "city": "Sydney",
- "state": "NSW",
- "country": "Australia",
- "zipCode": "2000"
}
}, - "discount": 5.99,
}{- "errorCode": 0,
- "data": {
- "code": "1741519556587",
- "partnerTransactionId": "test33146",
- "status": 9,
- "amount": 10,
- "discount": 1,
- "currency": "AUD",
- "items": [
- {
- "name": "test",
- "amount": 1000,
- "quantity": 1,
- "createdAt": "2025-03-09T11:25:56.590Z",
- "updatedAt": "2025-03-09T11:25:56.590Z",
- "id": "95c85df8-6d27-4a64-98bb-48f4963e4c30"
}
], - "metadata": {
- "payer": {
- "firstName": "test",
- "lastName": "hello",
- "email": "test@demo.com",
- "phoneNumber": "123456789",
- "address": {
- "line": "123 Main St",
- "city": "Anytown",
- "state": "CA",
- "country": "US",
- "zipCode": "12345"
}
}
}, - "token": "test_api"
}, - "message": "Transaction created successfully"
}