BeneficiaryService

Beneficiary provider surface for payment intent status notifications.

Beneficiary providers are those who:

  • Create payment intents via CreatePaymentIntent
  • Receive settlement (in settlement currency via configured blockchain network)
  • Need to be notified of payment status changes

Notifications are delivered when:

  • Funds have been received from the payer by pay-in provider
Method NameRequest TypeResponse TypeDescription
PaymentIntentUpdatePaymentIntentUpdateRequestPaymentIntentUpdateResponsePaymentIntentUpdate notifies the beneficiary provider of status changes. Delivery is retried on failure or timeout; handling must be idempotent.

Requests And Response Types

PaymentIntentUpdateRequest

Notification of a payment intent status change.

FieldTypeLabelDescription
payment_intent_iduint64The payment intent ID this update relates to. Matches the ID returned in CreatePaymentIntentResponse.
funds_receivedPaymentIntentUpdateRequest.FundsReceivedFunds were received from the payer by pay-in provider.

PaymentIntentUpdateRequest.FundsReceived

Notification that funds were received from the payer by pay-in provider.

FieldTypeLabelDescription
settlement_amounttzero.v1.common.DecimalThe settlement amount credited to the beneficiary balance. This is calculated as: (source_amount / rate) - fix Note: Fees are NOT deducted from this amount. Fees are tracked separately and settled in periodic fee settlements.
ratetzero.v1.common.DecimalThe exchange rate used for settlement.
payment_amounttzero.v1.common.DecimalThe fiat amount received from the end-user. Matches the amount originally requested in CreatePaymentIntent.
payment_methodtzero.v1.common.PaymentMethodTypeThe payment method used for the pay-in
transaction_referencestringPay-in’s rail-native reference (SEPA EndToEndId, SWIFT UETR, PIX e2e_id), forwarded from ConfirmFundsReceived. Reconcile against the beneficiary’s records; serves as the anchor for dispute resolution.
travel_rule_dataPaymentIntentUpdateRequest.FundsReceived.TravelRuleDataTravel rule data of the pay-in provider’s legal entity that received the funds. Present when the pay-in provider has registered travel rule data.
fixtzero.v1.common.DecimalFlat USD surcharge retained by the pay-in provider per transfer. Already subtracted from settlement_amount. Settlement is computed as (payment_amount / rate) - fix.

PaymentIntentUpdateRequest.FundsReceived.TravelRuleData

FieldTypeLabelDescription
originator_providerivms101.LegalPersonIVMS101 legal person data of the originating provider’s legal entity.

PaymentIntentUpdateResponse

Acknowledgment of receiving the payment intent update. Empty response indicates successful processing. Return an error status code if processing failed and retry is needed.

This message has no fields defined.