Skip to main content

Preference Endpoints (api/Preference)

General Definitions

Parameter Description
baseurl

Sandbox - https://test.xprizo.com/api

Live- https://wallet.xprizo.com/api

apiversion 1.0
apikey API key For authentication


Update Approval Webhook

Approval Webhook is triggered when a new pending transaction is created or when this pending transaction is approved, canceled, or rejected.

 

Request

curl --location --request PUT '{baseurl}/Preference/SetApprovalWebhook?url={url}' \
--header 'Accept: text/plain; x-api-version=1.0' \
--header 'x-api-version: {apiversion}' \
--header 'x-api-key: {apikey}'
Parameter Description
url Url to receive callbacks

Response (200)

Your callback URL must respond with JSON object {'status': 'success' } and HTTP code 200 to Xprizo.

Test Approval Webhook

You can test your callback URL's response by using this endpoint

 

Request

curl --location --request GET '{baseurl}/Preference/TestApprovalWebhook' \
--header 'Accept: text/plain; x-api-version=1.0' \
--header 'x-api-version: {apiversion}' \
--header 'x-api-key: {apikey}'

Response (200)

Your callback URL must respond with JSON object {'status': 'success' } and HTTP code 200 to Xprizo.


Approval Webhook Responses

Created Transaction & Approved Transaction Response on Webhook (Sample)

# Created Transaction
{
  "statusType": 1,
  "status": "New",
  "description": null,
  "actionedById": 724,
  "affectedContactIds": [
    723,
    2
  ],
  "transaction": {
    "id": 0,
    "createdById": 724,
    "type": "UCD",
    "date": "2024-02-07T03:41:59.823195+00:00",
    "reference": "652-1706532591283",
    "currencyCode": "USD",
    "amount": 5
  }
}

# Approved Transaction
{
  "statusType": 2,
  "status": "Accepted",
  "description": null,
  "affectedContactIds": [
    723,
    2
  ],
  "transaction": {
    "id": 3169,
    "createdById": 724,
    "type": "UCD",
    "date": "2024-02-07T03:43:50.9186754+00:00",
    "reference": "652-1706532591283",
    "currencyCode": "USD",
    "amount": 5
  }
}
Parameter Description
statusType This is the status 2 = Accepted
status Text version of the status "Accepted"
affectedContactIds A list of the contact IDs that were involved in this transaction
Transaction  Transaction that was created
id The unique Id of the transaction provided by Xprizo
createdById

Id of the person who creates the transaction

type The type of transaction (UCD = Card Deposit) 
date The date of the transaction
reference Recipient's unique transaction identifier for this transaction
currencyCode The currency of this transaction
amount The amount of this transaction

Rejected Transaction Response on Webhook (Sample)

{
 "statusType":3,
 "status":"Rejected",
 "description":"Reason for rejection",
 "actionedById":1,
 "affectedContactIds":[]
 "transaction": {
   "id":0,
   "createdById":2,
   "type":"UCD",
   "date":"2021-04-20T20:34:00.7606173+02:00",
   "reference":234234234,
   "currencyCode":"USD",
   "amount":100.00
 }
}

The following is a list of approval status codes that could be returned

  • 0 = None - Used for testing
  • 1 = New - A new pending transaction has been created
  • 2 = Approved- The transaction was approved and processed
  • 3 = Rejected - The transaction was rejected by the acquirer
  • 4 = Cancelled - The transaction was canceled by the creator

Update Payment Webhook

Payment Webhook is triggered when a payment transaction with an action set to 2 (callback) is created. 
Callbacks are only sent to the profile that created the transaction.
Callbacks will keep sending requests to the platform for 24 hours or until it gets a response.
If a 200 (success) response is received then the transaction will be processed.
If any other response (except a timeout) is received then the transaction will be voided.

 

Request

curl --location --request PUT '{baseurl}/Preference/SetPaymentWebhook?url={url}' \
--header 'Accept: text/plain; x-api-version=1.0' \
--header 'x-api-version: {apiversion}' \
--header 'x-api-key: {apikey}'
Parameter Description
url Url to receive callbacks

Response (200)

 

Payment Webhook Responses

This will triggered when the send payment is initiated in Callback mode, Based on the response of this webhook by the Recipient, Xprizo will approve or void the transaction.

{
  "id": 3291,
  "currencyCode": "INR",
  "amount": 10,
  "reference": "652-1706532591321",
  "status": "Success"
}
Parameter Description
status Status of transaction
id The unique ID of the transaction provided by Xprizo
reference Recipient's unique transaction identifier for this transaction
currencyCode The currency of this transaction
amount The amount of this transaction

Recipient will use this response and check for transactions having the same reference in their system and if everything is fine then they will respond with HTTP status code 200 else they will provide another HTTP status code (excluding timeout).

If the Status code is 200 then this transaction will be marked as Completed in the Xprizo system else it will be VOID (excluding timeout).