This method provides a real-time balance. For prepaid terms with Prepay Nation, the balance is returned with a negative sign to indicate available funds. For credit terms, the balance indicates the amount owed.
The transaction will only proceed if your wallet contains sufficient funds. We strongly advise utilizing this API method to monitor your wallet.
curl -X GET "https://sandbox.valuetopup.com/api/v2/account/balance" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": 0.1
}This method can be utilized to retrieve a list of all available countries.
curl -X GET "https://sandbox.valuetopup.com/api/v2/catalog/countries" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "countryCode": "",
- "countryName": "",
- "region": "",
- "internationalCountryCode": "",
- "areaCodes": "",
- "numberLength": ""
}
]
}Return the operators list
| operatorId | integer <int32> Operator Id |
| countryCode | string Country Code |
curl -X GET "https://sandbox.valuetopup.com/api/v2/catalog/operators" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "operatorId": 0,
- "operatorName": "",
- "imageUrl": ""
}
]
}Get a list of products available to the agent. You can use OperatorId to get a list of products from /getproducts API. Available Category Id Values: Pin = 1, Rtr = 2, Bill Pay = 4, Sim = 5, Gift Card = 6, eSim = 7.
| operatorId | integer <int32> Operator Id |
| categoryId | integer <int32> Category Id |
| countryCode | string Country Code |
curl -X GET "https://sandbox.valuetopup.com/api/v2/catalog/getproducts" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "productId": 0,
- "category": "",
- "productName": "",
- "countryCode": "",
- "operatorId": 0,
- "operatorName": "",
- "imageUrl": "",
- "requireFetchBundle": true,
- "description": ""
}
]
}This operation retrieves all products except Gift Card along with their SKU IDs.
| productId | integer <int32> |
| skuId | integer <int32> |
| Accept-Language | string Language code for localized responses (for eg 'ar'). Refer Localization and Multilingual Response Support section for more details. |
curl -X GET "https://sandbox.valuetopup.com/api/v2/catalog/skus" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "skuId": 0,
- "skuName": "",
- "min": {
- "faceValue": 0.1,
- "faceValueCurrency": "",
- "deliveredAmount": 0.1,
- "deliveryCurrencyCode": "",
- "faceValueInWalletCurrency": 0.1
}, - "max": {
- "faceValue": 0.1,
- "faceValueCurrency": "",
- "deliveredAmount": 0.1,
- "deliveryCurrencyCode": "",
- "faceValueInWalletCurrency": 0.1
}, - "exchangeRate": 0.1,
- "loanAmountInFaceValueCurrency": 0.1,
- "loanAmountInDeliveryCurrency": 0.1,
- "loanAmountInWalletCurrency": 0.1,
- "productId": 0,
- "productName": "",
- "category": "",
- "isSalesTaxCharged": true,
- "salesTax": 0.1,
- "countryCode": "",
- "benefitType": "",
- "validity": "",
- "productDescription": "",
- "localPhoneNumberLength": 0,
- "internationalCountryCode": [
- "string"
], - "allowDecimal": true,
- "fee": 0.1,
- "operatorId": 0,
- "operatorName": "",
- "imageUrl": "",
- "additionalInformation": "",
- "region": "",
- "deliveryAmountType": "",
- "subCategory": "",
- "requireFetchBundle": true
}
]
}This operation retrieves all Gift Card products along with their SKU IDs.
Note: If neither cursor nor a pageSize is provided, the default response will display only 100 Gift Card SKUs.
| cursor | integer <int32> The cursor is used to retrieve the next set of SKUs. For example, cursor=10, will retrieve SKUs starting from skuId : 10 based on the specified page size. |
| pageSize | integer <int32> The number of items to retrieve starting with the cursor. The page size must be at least 1 and not more than 100. |
| productId | integer <int32> Product Id - The ProductId can be obtained by the “/catalog/getproducts/” API. |
| skuId | integer <int32> SKU ID of denomination |
| countryCode | string ISO Country Code e.g. IN for India |
| Accept-Language | string Language code for localized responses (for eg 'ar'). Refer Localization and Multilingual Response Support section for more details. |
curl -X GET "https://sandbox.valuetopup.com/api/v2/catalog/skus/giftcards" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "skuId": 0,
- "skuName": "",
- "min": {
- "faceValue": 0.1,
- "faceValueCurrency": "",
- "deliveredAmount": 0.1,
- "deliveryCurrencyCode": "",
- "faceValueInWalletCurrency": 0.1
}, - "max": {
- "faceValue": 0.1,
- "faceValueCurrency": "",
- "deliveredAmount": 0.1,
- "deliveryCurrencyCode": "",
- "faceValueInWalletCurrency": 0.1
}, - "exchangeRate": 0.1,
- "loanAmountInFaceValueCurrency": 0.1,
- "loanAmountInDeliveryCurrency": 0.1,
- "loanAmountInWalletCurrency": 0.1,
- "productId": 0,
- "productName": "",
- "category": "",
- "isSalesTaxCharged": true,
- "salesTax": 0.1,
- "countryCode": "",
- "benefitType": "",
- "validity": "",
- "productDescription": "",
- "localPhoneNumberLength": 0,
- "internationalCountryCode": [
- "string"
], - "allowDecimal": true,
- "fee": 0.1,
- "operatorId": 0,
- "operatorName": "",
- "imageUrl": "",
- "additionalInformation": "",
- "region": "",
- "deliveryAmountType": "",
- "subCategory": "",
- "requireFetchBundle": true
}
], - "next": 0,
- "next_cursor": 0
}Return the most current exchange of a SKU
| skuId required | integer <int32> SKU ID |
curl -X GET "https://sandbox.valuetopup.com/api/v2/catalog/sku/exchangeRate/{skuId}" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "skuId": 0,
- "productName": "",
- "currencyCode": "",
- "exchangeRate": 0.1
}
}curl -X GET "https://sandbox.valuetopup.com/api/v2/catalog/errors" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "errorCode": "",
- "errorDescription": ""
}
]
}This operation returns list of dynamic bundles
| productId required | integer <int32> |
| mobileNumber required | string |
curl -X GET "https://sandbox.valuetopup.com/api/v2/catalog/bundles/{productId}/{mobileNumber}" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "skuId": 0,
- "skuName": "",
- "min": {
- "faceValue": 0.1,
- "faceValueCurrency": "",
- "deliveredAmount": 0.1,
- "deliveryCurrencyCode": "",
- "faceValueInWalletCurrency": 0.1
}, - "max": {
- "faceValue": 0.1,
- "faceValueCurrency": "",
- "deliveredAmount": 0.1,
- "deliveryCurrencyCode": "",
- "faceValueInWalletCurrency": 0.1
}, - "exchangeRate": 0.1,
- "loanAmountInFaceValueCurrency": 0.1,
- "loanAmountInDeliveryCurrency": 0.1,
- "loanAmountInWalletCurrency": 0.1,
- "productId": 0,
- "productName": "",
- "category": "",
- "isSalesTaxCharged": true,
- "salesTax": 0.1,
- "countryCode": "",
- "benefitType": "",
- "validity": "",
- "productDescription": "",
- "localPhoneNumberLength": 0,
- "internationalCountryCode": [
- "string"
], - "allowDecimal": true,
- "fee": 0.1,
- "operatorId": 0,
- "operatorName": "",
- "imageUrl": "",
- "additionalInformation": "",
- "region": "",
- "deliveryAmountType": "",
- "subCategory": "",
- "requireFetchBundle": true
}
]
}This operation is used to buy eSIM products
| skuId required | integer <int32> SKU ID - The SKU ID can be obtained by the “/catalog/skus/” API. The category of the carrier should be ‘eSIM’ |
| correlationId | string [ 1 .. 50 ] characters Unique ID of Customer System |
{- "skuId": 0,
- "correlationId": ""
}{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "transactionId": 0,
- "transactionDate": "",
- "invoiceAmount": 0.1,
- "faceValue": 0.1,
- "discount": 0.1,
- "fee": 0.1,
- "product": {
- "skuId": 0,
- "productName": "",
- "faceValue": 0.1,
- "instructions": "",
- "productDescription": ""
}, - "topupDetail": {
- "localCurrencyAmount": 0.1,
- "salesTaxAmount": 0.1,
- "localCurrencyAmountExcludingTax": 0.1,
- "destinationCurrency": "",
- "operatorTransactionId": ""
}, - "pins": [
- {
- "pinNumber": "",
- "controlNumber": "",
- "deliveredAmount": 0.1,
- "deliveredCurrencyCode": "",
- "expirationDate": ""
}
], - "giftCardDetail": {
- "cardNumber": "",
- "pin": "",
- "expirationDate": "",
- "certificateLink": ""
}, - "simInfo": {
- "simNumber": "",
- "language": "",
- "zipCode": "",
- "mobileNumber": ""
}, - "billPaymentDetail": {
- "accountNumber": "",
- "token": "",
- "unit": "",
- "receivedNarration": ""
}, - "esimDetail": {
- "iccid": "",
- "activationCode": "",
- "smdpAddress": "",
- "confirmationCode": "",
- "qrCodeString": "",
- "qrCodeLink": ""
}
}
}This operation is used to check the current data balance of eSIM
| Iccid required | string Iccid which you received from eSIM order response |
curl -X GET "https://sandbox.valuetopup.com/api/v2/esim/status/{Iccid}" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "name": "",
- "description": "",
- "initialQuantity": 0,
- "remainingQuantity": 0,
- "assignmentDateTime": "",
- "startTime": "",
- "endTime": "",
- "assignmentReference": "",
- "unit": "",
- "activationCode": "",
- "smdpAddress": ""
}
]
}Get operator and product information for a specific mobile number. Pass mobile number along with country code to validate MSISDN.
Sandbox environment - We only support phone number lookup for Jamaica, India, Pakistan, and Mexico. Please utilize any of the below phone numbers for testing purposes in the Sandbox environment.
Jamaica - 18761234567, 18762234567
India - 911234567890, 912345678901
Pakistan - 923123456789 , 923234578901
Mexico - 5212345678901, 522345678901.
Production environment - We provide support for all countries excluding the United States and Spain.
Note: Providing end users with the choice to make a final operator selection is crucial. Occasionally, the results obtained from a lookup request may not accurately reflect the most up-to-date information, particularly after a recent porting of the mobile number to a new operator. Introducing this extra step enhances accuracy and enhances the user experience as a whole.
| mobile required | integer <int64> Mobile Number with country code |
| Accept-Language | string Language code for localized responses (for eg 'ar'). Refer Localization and Multilingual Response Support section for more details. |
curl -X GET "https://sandbox.valuetopup.com/api/v2/lookup/mobile/{mobile}" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "productId": 0,
- "productName": "",
- "countryCode": "",
- "operatorId": 0,
- "operatorName": "",
- "imageUrl": "",
- "skus": [
- {
- "skuId": 0,
- "skuName": "",
- "min": {
- "faceValue": 0.1,
- "faceValueCurrency": "",
- "deliveredAmount": 0.1,
- "deliveryCurrencyCode": "",
- "faceValueInWalletCurrency": 0.1
}, - "max": {
- "faceValue": 0.1,
- "faceValueCurrency": "",
- "deliveredAmount": 0.1,
- "deliveryCurrencyCode": "",
- "faceValueInWalletCurrency": 0.1
}, - "exchangeRate": 0.1,
- "loanAmountInFaceValueCurrency": 0.1,
- "loanAmountInDeliveryCurrency": 0.1,
- "loanAmountInWalletCurrency": 0.1,
- "productId": 0,
- "productName": "",
- "category": "",
- "isSalesTaxCharged": true,
- "salesTax": 0.1,
- "countryCode": "",
- "benefitType": "",
- "validity": "",
- "productDescription": "",
- "localPhoneNumberLength": 0,
- "internationalCountryCode": [
- "string"
], - "allowDecimal": true,
- "fee": 0.1,
- "operatorId": 0,
- "operatorName": "",
- "imageUrl": "",
- "additionalInformation": "",
- "region": "",
- "deliveryAmountType": "",
- "subCategory": "",
- "requireFetchBundle": true
}
]
}
]
}This operation is used to fetch bill detail
| skuId | integer <int32> Sku Id of Product |
| accountNumber | string bill account number |
curl -X GET "https://sandbox.valuetopup.com/api/v2/lookup/billpay/fetch-account-detail" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "accountNumber": "",
- "customerName": "",
- "balanceDue": 0.1,
- "currencyCode": "",
- "dueDate": ""
}
}Retrieve a list of all currently active promotions.
curl -X GET "https://sandbox.valuetopup.com/api/v2/promotion/current" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "promotionId": 0,
- "promotionName": "",
- "countryTimeZone": "",
- "startDate": "",
- "endDate": "",
- "description": "",
- "restriction": "",
- "promotionalBalanceExpiration": "",
- "promotionMinMax": [
- {
- "currencyCode": "",
- "minAmount": 0.1,
- "maxAmount": 0.1
}
], - "product": {
- "productId": 0,
- "productName": "",
- "countryCode": "",
- "operatorName": ""
}, - "operator": {
- "operatorId": 0,
- "operatorName": "",
- "countryCode": "",
- "countryName": ""
}
}
]
}Retrieve a list of all future promotions.
curl -X GET "https://sandbox.valuetopup.com/api/v2/promotion/upcoming" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": [
- {
- "promotionId": 0,
- "promotionName": "",
- "countryTimeZone": "",
- "startDate": "",
- "endDate": "",
- "description": "",
- "restriction": "",
- "promotionalBalanceExpiration": "",
- "promotionMinMax": [
- {
- "currencyCode": "",
- "minAmount": 0.1,
- "maxAmount": 0.1
}
], - "product": {
- "productId": 0,
- "productName": "",
- "countryCode": "",
- "operatorName": ""
}, - "operator": {
- "operatorId": 0,
- "operatorName": "",
- "countryCode": "",
- "countryName": ""
}
}
]
}This operation facilitates mobile number top-up. Agents can initiate this request by providing the SKU ID, obtained from the Product API, along with the amount, mobile, and corelationId. It's crucial for the agent to include a correlation ID, serving as a unique transaction identifier within their system, which can be utilized for reconciliation purposes.
Sandbox Environment: For testing purposes, any number can be passed. However, it's essential to ensure that the mobile number adheres to country-specific formatting guidelines. For example, in Jamaica, the country code is 1876, and the number length is 7 digits. Thus, any number in the format 1876XXXXXXX can be used.
Topup request
| skuId required | integer <int32> Sku Id - The SkuId can be obtained by the Products API. The category of the carrier should be ‘RTR’ |
| amount required | number <double> Top-up Amount - It is by default in Customer Wallet Currency if "transactionCurrencyCode" is not defined. Otherwise, it is based on the "transactionCurrencyCode" field. For example, if the Customer wallet currency is GBP and "TransactionCurrencyCode" is not specified, then the system considers the amount in GBP. However, the customer can send the amount in the destination currency by defining the destination currency code in the "transactionCurrencyCode" field, for example, INR for India or NGN for Nigeria. |
| mobile required | string non-empty Mobile number of the subscriber. it should be as per carrier guideline. |
| correlationId | string [ 1 .. 50 ] characters Unique ID of Customer System |
| senderMobile | string or null Sender Mobile Number |
| boostPin | string or null [ 0 .. 6 ] characters 4 to 6 digits PIN of Boost Mobile number. This is required only when recharge is for Boost Mobile. |
| numberOfPlanMonths | integer <int32> This field is used to buy Lyca Bundle for multiple Months. E.g. If user wants to buy 19 USD Lyca Bundle for 3 months then request should contain 3. |
| transactionCurrencyCode | string or null It is used to send amount in destination currency. If customer want to send amount in destination country currency then pass ISO currency code of that country in this field.
You should check FaceValueCurrency field of /catalog/skus api to check what currency you can pass in this field. |
Array of objects or null (AdditionalInfo) Some product requires additional information to process transactions. you need to provide that information here in name value pair. You can get this information from Catalog |
{- "skuId": 0,
- "amount": 0.1,
- "mobile": "",
- "correlationId": "",
- "senderMobile": "",
- "boostPin": "",
- "numberOfPlanMonths": 0,
- "transactionCurrencyCode": "",
- "additionalInfos": [
- {
- "name": "",
- "value": ""
}
]
}{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "transactionId": 0,
- "transactionDate": "",
- "invoiceAmount": 0.1,
- "faceValue": 0.1,
- "discount": 0.1,
- "fee": 0.1,
- "product": {
- "skuId": 0,
- "productName": "",
- "faceValue": 0.1,
- "instructions": "",
- "productDescription": ""
}, - "topupDetail": {
- "localCurrencyAmount": 0.1,
- "salesTaxAmount": 0.1,
- "localCurrencyAmountExcludingTax": 0.1,
- "destinationCurrency": "",
- "operatorTransactionId": ""
}, - "pins": [
- {
- "pinNumber": "",
- "controlNumber": "",
- "deliveredAmount": 0.1,
- "deliveredCurrencyCode": "",
- "expirationDate": ""
}
], - "giftCardDetail": {
- "cardNumber": "",
- "pin": "",
- "expirationDate": "",
- "certificateLink": ""
}, - "simInfo": {
- "simNumber": "",
- "language": "",
- "zipCode": "",
- "mobileNumber": ""
}, - "billPaymentDetail": {
- "accountNumber": "",
- "token": "",
- "unit": "",
- "receivedNarration": ""
}, - "esimDetail": {
- "iccid": "",
- "activationCode": "",
- "smdpAddress": "",
- "confirmationCode": "",
- "qrCodeString": "",
- "qrCodeLink": ""
}
}
}This operation is used to buy PIN products
Pin Request Object
| skuId required | integer <int32> Sku Id - The SkuId can be obtained by the Products API. The category of the carrier should be |
| correlationId | string [ 1 .. 50 ] characters Unique ID of Customer System |
| recipient | string or null System will use this information to deliver PIN through SMS. Pass mobile number along with country code.Mobile number must belong to same country for which you are buying PIN.e.g.ATT PIN - 1XXXXXXXXXX |
Array of objects or null (AdditionalInfo) Some product requires additional information to process transactions. you need to provide that information here in name value pair. You can get this information from Catalog |
{- "skuId": 0,
- "correlationId": "",
- "recipient": "",
- "additionalInfos": [
- {
- "name": "",
- "value": ""
}
]
}{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "transactionId": 0,
- "transactionDate": "",
- "invoiceAmount": 0.1,
- "faceValue": 0.1,
- "discount": 0.1,
- "fee": 0.1,
- "product": {
- "skuId": 0,
- "productName": "",
- "faceValue": 0.1,
- "instructions": "",
- "productDescription": ""
}, - "topupDetail": {
- "localCurrencyAmount": 0.1,
- "salesTaxAmount": 0.1,
- "localCurrencyAmountExcludingTax": 0.1,
- "destinationCurrency": "",
- "operatorTransactionId": ""
}, - "pins": [
- {
- "pinNumber": "",
- "controlNumber": "",
- "deliveredAmount": 0.1,
- "deliveredCurrencyCode": "",
- "expirationDate": ""
}
], - "giftCardDetail": {
- "cardNumber": "",
- "pin": "",
- "expirationDate": "",
- "certificateLink": ""
}, - "simInfo": {
- "simNumber": "",
- "language": "",
- "zipCode": "",
- "mobileNumber": ""
}, - "billPaymentDetail": {
- "accountNumber": "",
- "token": "",
- "unit": "",
- "receivedNarration": ""
}, - "esimDetail": {
- "iccid": "",
- "activationCode": "",
- "smdpAddress": "",
- "confirmationCode": "",
- "qrCodeString": "",
- "qrCodeLink": ""
}
}
}This operation is used to perform Bill Payment
| skuId required | integer <int32> SKU ID - The SKU ID can be obtained by the Products API. The category of the carrier should be |
| amount required | number <double> Topup Amount |
| accountNumber required | string non-empty Account number on the Bill or Mobile number in case of Postpaid Mobile Bill |
| mobileNumber | string or null Mobile Number |
| checkDigits | string or null Check digits |
| correlationId | string [ 1 .. 50 ] characters Unique Id of Customer |
| senderMobile | string or null Sender Mobile |
| senderName | string or null Sender Name |
| transactionCurrencyCode | string or null <= 3 characters It tells us currency of "Amount". If it is null or empty then system considers customer wallet currency |
Array of objects or null (AdditionalInfo) Some product requires additional information to process transactions. you need to provide that information here in name value pair. You can get this information from Catalog |
{- "skuId": 0,
- "amount": 0.1,
- "accountNumber": "",
- "mobileNumber": "",
- "checkDigits": "",
- "correlationId": "",
- "senderMobile": "",
- "senderName": "",
- "transactionCurrencyCode": "",
- "additionalInfos": [
- {
- "name": "",
- "value": ""
}
]
}{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "transactionId": 0,
- "transactionDate": "",
- "invoiceAmount": 0.1,
- "faceValue": 0.1,
- "discount": 0.1,
- "fee": 0.1,
- "product": {
- "skuId": 0,
- "productName": "",
- "faceValue": 0.1,
- "instructions": "",
- "productDescription": ""
}, - "topupDetail": {
- "localCurrencyAmount": 0.1,
- "salesTaxAmount": 0.1,
- "localCurrencyAmountExcludingTax": 0.1,
- "destinationCurrency": "",
- "operatorTransactionId": ""
}, - "pins": [
- {
- "pinNumber": "",
- "controlNumber": "",
- "deliveredAmount": 0.1,
- "deliveredCurrencyCode": "",
- "expirationDate": ""
}
], - "giftCardDetail": {
- "cardNumber": "",
- "pin": "",
- "expirationDate": "",
- "certificateLink": ""
}, - "simInfo": {
- "simNumber": "",
- "language": "",
- "zipCode": "",
- "mobileNumber": ""
}, - "billPaymentDetail": {
- "accountNumber": "",
- "token": "",
- "unit": "",
- "receivedNarration": ""
}, - "esimDetail": {
- "iccid": "",
- "activationCode": "",
- "smdpAddress": "",
- "confirmationCode": "",
- "qrCodeString": "",
- "qrCodeLink": ""
}
}
}This operation checks the final status of a transaction using its correlation ID. This is very useful API method to check status of original transaction in case if you don't get response of original transaction within the timeout set by your system. To know the correct and final status of the original transaction we recommend that you to implement this API method to check status. This method will return you final status of the original transaction.
Please follow the steps below - 1. Send the correlation ID value with every RTR or PIN transaction. This is the unique ID from your system which will help us to identify the original transaction. 2. In case of a request timeout error, call Transaction Check Status (/transaction/status) method and pass the correlation ID from step #1. 3. You should call the Transaction Check Status (/transaction/status) method multiple times until you get a definite response of a success or a failure. Please refer to the documentation of Transaction Check Status (/transaction/status) method.
If the response code is "852," it means the transaction is still in progress. Any other response code should be considered the final status of the transaction. This could either be successful ("000") or failed (any code other than "000").
Prepay nation Timeout = 2 minute
| corelationId required | string Correlation ID which you send in actual topup API method. |
curl -X GET "https://sandbox.valuetopup.com/api/v2/transaction/status/{corelationId}" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "transactionId": 0,
- "transactionDate": "",
- "invoiceAmount": 0.1,
- "faceValue": 0.1,
- "discount": 0.1,
- "fee": 0.1,
- "product": {
- "skuId": 0,
- "productName": "",
- "faceValue": 0.1,
- "instructions": "",
- "productDescription": ""
}, - "topupDetail": {
- "localCurrencyAmount": 0.1,
- "salesTaxAmount": 0.1,
- "localCurrencyAmountExcludingTax": 0.1,
- "destinationCurrency": "",
- "operatorTransactionId": ""
}, - "pins": [
- {
- "pinNumber": "",
- "controlNumber": "",
- "deliveredAmount": 0.1,
- "deliveredCurrencyCode": "",
- "expirationDate": ""
}
], - "giftCardDetail": {
- "cardNumber": "",
- "pin": "",
- "expirationDate": "",
- "certificateLink": ""
}, - "simInfo": {
- "simNumber": "",
- "language": "",
- "zipCode": "",
- "mobileNumber": ""
}, - "billPaymentDetail": {
- "accountNumber": "",
- "token": "",
- "unit": "",
- "receivedNarration": ""
}, - "esimDetail": {
- "iccid": "",
- "activationCode": "",
- "smdpAddress": "",
- "confirmationCode": "",
- "qrCodeString": "",
- "qrCodeLink": ""
}
}
}This operation is used to buy Gift Card.
Important Note: Gift Card processing may take longer than usual. If you receive response code 852 with the message "Gift Card processing is in progress." it means the transaction is still being processed. In this case, you must check the transaction status using the Check Status API (/transaction/status/{corelationId}) to obtain the final result. Please refer to the "Check Status of transaction by correlation ID" endpoint documentation for more details.
Response code 852 indicates the transaction is in progress. Any other response code represents the final transaction status - either success (000) or failure (any code other than 000).
Gift Card Object
| skuId required | integer <int32> Sku Id - The SkuId can be obtained by the Products API. The category of the product should be |
| amount required | number <double> Amount |
| correlationId | string [ 1 .. 50 ] characters Unique ID of Customer System |
| firstName | string or null First Name |
| lastName | string or null Last Name |
| recipient | string or null Mobile Number |
| transactionCurrencyCode | string or null It is used to send amount in destination currency. If customer wanted to send amount in destination country currency than pass ISO currency code of that country in this field. e.g. customer wants to send amount in NGN currency. Then he will pass "NGN" |
Array of objects or null (AdditionalInfo) Some product requires additional information to process transactions. you need to provide that information here in name value pair. You can get this information from Catalog |
{- "skuId": 0,
- "amount": 0.1,
- "correlationId": "",
- "firstName": "",
- "lastName": "",
- "recipient": "",
- "transactionCurrencyCode": "",
- "additionalInfos": [
- {
- "name": "",
- "value": ""
}
]
}{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "transactionId": 0,
- "transactionDate": "",
- "invoiceAmount": 0.1,
- "faceValue": 0.1,
- "discount": 0.1,
- "fee": 0.1,
- "product": {
- "skuId": 0,
- "productName": "",
- "faceValue": 0.1,
- "instructions": "",
- "productDescription": ""
}, - "topupDetail": {
- "localCurrencyAmount": 0.1,
- "salesTaxAmount": 0.1,
- "localCurrencyAmountExcludingTax": 0.1,
- "destinationCurrency": "",
- "operatorTransactionId": ""
}, - "pins": [
- {
- "pinNumber": "",
- "controlNumber": "",
- "deliveredAmount": 0.1,
- "deliveredCurrencyCode": "",
- "expirationDate": ""
}
], - "giftCardDetail": {
- "cardNumber": "",
- "pin": "",
- "expirationDate": "",
- "certificateLink": ""
}, - "simInfo": {
- "simNumber": "",
- "language": "",
- "zipCode": "",
- "mobileNumber": ""
}, - "billPaymentDetail": {
- "accountNumber": "",
- "token": "",
- "unit": "",
- "receivedNarration": ""
}, - "esimDetail": {
- "iccid": "",
- "activationCode": "",
- "smdpAddress": "",
- "confirmationCode": "",
- "qrCodeString": "",
- "qrCodeLink": ""
}
}
}| id required | integer <int64> Transaction Id which you receive in Gift Card Operation |
curl -X GET "https://sandbox.valuetopup.com/api/v2/transaction/giftcard/fetch/{id}" \ -H "Authorization: Basic YOUR_BASE64_CREDENTIALS" \ -H "Accept: application/json"
{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "cardNumber": "",
- "pin": "",
- "expirationDate": "",
- "certificateLink": ""
}
}This operation is used to get the estimate cost of product
Cost request
| skuId required | integer <int32> SKU ID - The SKU ID can be obtained by the Products API. |
| amount required | number <double> Amount - It is by default in Customer Wallet Currency if "transactionCurrencyCode" is not defined. Otherwise, it is based on the "transactionCurrencyCode" field. For example, if the Customer wallet currency is GBP and "TransactionCurrencyCode" is not specified, then the system considers the amount in GBP. However, the customer can send the amount in the destination currency by defining the destination currency code in the "transactionCurrencyCode" field, for example, INR for India or NGN for Nigeria. |
| transactionCurrencyCode | string or null It is used to send amount in destination currency. If you want to send the amount in the destination country's currency then pass ISO currency code of that country in this field.
You should check FaceValueCurrency field of /catalog/skus API to check what currency you can pass in this field. |
{- "skuId": 0,
- "amount": 0.1,
- "transactionCurrencyCode": ""
}{- "responseCode": "",
- "responseMessage": "",
- "payLoad": {
- "invoiceAmount": 0.1,
- "faceValue": 0.1,
- "faceValueCurrency": "",
- "faceValueInWallet": 0.1,
- "localCurrencyAmount": 0.1,
- "salesTaxAmount": 0.1,
- "localCurrencyAmountExcludingTax": 0.1,
- "destinationCurrency": "",
- "product": {
- "skuId": 0,
- "productName": "",
- "productDescription": ""
}
}
}