000 = success (other codes indicate errors per standard v6 semantics)
ResultExplanation
Human-readable result
RequestRef
Reference for the overall xPay request
Allocations/Allocation/AllocationId
Identifier for a created allocation (use with verifyXpay)
Typical Flow
sequenceDiagram
participant M as Merchant (You)
participant D as DPO API
M->>D: executeXpay (ProviderToken + Allocations[])
D-->>M: Result=000 + RequestRef + AllocationId(s)
M->>D: verifyXpay (by AllocationId) for status as needed
M->>M: Reconcile allocation(s) internally
Best Practices
Validate each allocation’s Amount/Currency/Service before sending.
Persist RequestRef and each AllocationId for reconciliation and status checks (via Verify xPay).
If you rely on service names, resolve IDs upfront using getServices and map to Service.
Consider idempotency: avoid submitting the same set of allocations twice (hash the allocation list and store it per request).
Troubleshooting
Symptom
Likely Cause
Action
Non-000 result
Missing/invalid field(s)
Verify Request=executeXpay, tokens, and allocation tags
Currency mismatch
Allocation currency not allowed
Align currency with provider/company settings
Unknown service
Bad Service ID
Fetch valid IDs via getServices
Cannot track status
Missing IDs
Store RequestRef and AllocationId from the response