Skip to main content
POST
/
webhook
/
verto
/
payment-outward
/
webhook
VertoFX payment status webhook
curl --request POST \
  --url https://api.royalti.io/webhook/verto/payment-outward/webhook \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "verto_txn_abc123xyz",
  "paymentId": "p1234567-89ab-cdef-0123-456789abcdef",
  "status": "completed",
  "state": "completed",
  "type": "account_to_wallet",
  "amount": 1250.75,
  "currency": "USD",
  "reference": "REF-2024-001234",
  "account": {
    "name": "John Doe",
    "number": "****5678"
  }
}
'
{
  "message": "Payment record status is marked as completed"
}
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Description

Authentication: Uses IP whitelist validation (no headers required). Workflow:
  1. Validates payment state is ‘completed’
  2. Validates payment type is ‘account_to_wallet’
  3. Updates Payment record status to ‘completed’

Code Examples

const response = await fetch('https://api.royalti.io/webhook/verto/payment-outward/webhook', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "id": "verto_txn_abc123xyz",
    "paymentId": "p1234567-89ab-cdef-0123-456789abcdef",
    "status": "completed",
    "state": "completed",
    "type": "account_to_wallet",
    "amount": 1250.75,
    "currency": "USD",
    "reference": "REF-2024-001234",
    "account": {
      "name": "John Doe",
      "number": "****5678"
    }
  })
});

const data = await response.json();
console.log(data);

Body

application/json
id
string
required

Verto transaction ID

Example:

"verto_txn_abc123xyz"

paymentId
string<uuid>
required

Royalti Payment record UUID

Example:

"p1234567-89ab-cdef-0123-456789abcdef"

status
enum<string>
required

Payment status

Available options:
pending,
processing,
completed,
failed,
cancelled
Example:

"completed"

state
string
required

Payment state (must be 'completed' for processing)

Example:

"completed"

type
string
required

Transaction type (must be 'account_to_wallet')

Example:

"account_to_wallet"

amount
number<decimal>

Payment amount

Example:

1250.75

currency
string

Currency code

Example:

"USD"

reference
string

Payment reference number

Example:

"REF-2024-001234"

account
object

Account details

Response

Webhook processed successfully

message
string
Example:

"Payment record status is marked as completed"