PayInProviderService

PayInProviderService must be implemented by pay-in providers to participate in the Payment Intent flow.

Pay-in providers are those who:

  • Receive fiat payments from end-users
  • Publish payment intent (pay-in) quotes to the network
  • Confirm when payments are received via ConfirmFundsReceived
  • Settles periodically with the beneficiary provider

The network calls this service to obtain payment details that will be presented to end-users for making payments.

Method NameRequest TypeResponse TypeDescription
GetPaymentDetailsGetPaymentDetailsRequestGetPaymentDetailsResponseGetPaymentDetails returns payment details for the end-user. Called by the network during CreatePaymentIntent processing. The provider should return payment details (bank accounts, mobile money info, etc.) that the end-user can use to send funds. The payment details should contain payment reference, so that on receiving payment from a payer, the pay-in provider can identify which payment intent this payment belongs to

Requests And Response Types

GetPaymentDetailsRequest

Request for payment details.

FieldTypeLabelDescription
payment_intent_iduint64The payment intent ID this request relates to.
confirmation_codestringThis is the confirmation code to be used later with ConfirmFundsReceived endpoint to prevent accidental confirmation of the wrong payment intent
payment_methodstzero.v1.common.PaymentMethodTyperepeatedPayment methods being requested. The provider should return PaymentDetails for the methods in the request. All the payment methods will be taken from the quotes submitted by pay-in provider.
currencystringThe currency for the pay-in. ISO 4217 currency code (e.g., “EUR”, “GBP”, “KES”).
amounttzero.v1.common.DecimalThe amount to be paid in the specified currency.
travel_ruleGetPaymentDetailsRequest.TravelRuleDataTravel rule data for this payment

GetPaymentDetailsRequest.TravelRuleData

FieldTypeLabelDescription
beneficiaryivms101.PersonrepeatedThe natural or legal person or legal arrangement who is identified by the beneficiary provider as the receiver of the requested payment.
beneficiary_providerivms101.LegalPersonBeneficiary provider travel rule data.
payerivms101.PersonoptionalOptional travel rule data of the payer

GetPaymentDetailsResponse

Response containing payment details for the requested methods.

FieldTypeLabelDescription
detailsGetPaymentDetailsResponse.Details
rejectionGetPaymentDetailsResponse.Rejection

GetPaymentDetailsResponse.Details

FieldTypeLabelDescription
payment_detailstzero.v1.common.PaymentDetailsrepeatedPayment details for each supported payment method. Each PaymentDetails contains the information needed for an end-user to send a payment (e.g., bank account details, mobile money number) and payment reference, which can be used by pay-in provider to identify incoming payment.

GetPaymentDetailsResponse.Rejection

FieldTypeLabelDescription
reasonstring