Create a payout

Creates a new payout operation for the specified service. Validation errors (except invalid signature) are returned as HTTP 200 with error details in the XML body.

Signature calculation: MD5(id + dt + amount + phone + client + destination + secret_key)

Response statuses (new payout):

  • OK — payout accepted for processing (non-final)
  • PROCESSING — status not yet determined (non-final)
  • ERROR — payout rejected (final, details in <error> element)

OK and PROCESSING are non-final — the final result is delivered via webhook. The <error> element is only present when result is ERROR or NOT_PAID.

Idempotency: The request is idempotent by id. A repeated request returns the existing payout with its current status, which may include final statuses: PAID, NOT_PAID, or ERROR.

Path Parameters
  • service_id
    Type: integer Format: int32
    required

    Signed 32-bit integers (commonly used integer type).

Body·postPartnerServiceIdPayout
required
application/json

/partner/{service_id}/payout

  • amount
    Type: string
    required

    Payout transaction amount (decimal with dot delimiter). Max 14 digits before decimal point, max 2 after. Minimum 0.01. Total max 16 digits

  • card_holder
    Type: string
    required

    Cardholder's name as printed on recipient's bank card. Must contain letters and spaces only

  • client
    Type: string
    required

    Recipient's bank card number (PAN). Validated with Luhn algorithm

  • destination
    Type: string
    required

    Payment destination identifier. Currently only value 3 (Visa/Mastercard card payouts) is supported

  • dt
    Type: string
    required

    Date and time of the request

  • email
    Type: string
    required

    User's e-mail address

  • hash
    Type: string
    required

    Request control signature (MD5 hash)

  • id
    Type: string
    required

    Operation ID in the Partner's system (max 100 characters)

  • phone
    Type: string
    required

    Client's phone number

  • currency
    Type: string

    Payout currency. Must match the Partner's account currency. Although technically optional in the API schema, omitting this field will result in a currency mismatch error

  • detailsofpayment
    Type: string

    Details of payment (must be a valid URL starting with http:// or https://, max 255 characters)

  • digital_asset_type
    Type: string

    One-digit code classifying the purchased digital asset. Allowed values:

    • 1 - Central Bank Digital Currency (CBDC) or tokenized deposit
    • 2 - Stablecoin (fiat-backed)
    • 3 - Blockchain native token/coin
    • 4 - Non-Fungible Token (NFT)
    • 7 - Unknown/Other
Responses
  • application/xml
  • application/xml
  • application/xml
  • application/xml
  • application/xml
  • application/xml
Request Example for post/partner/{service_id}/payout
curl https://payouts-api.mrcr.io/partner/1/payout \
  --request POST \
  --header 'Content-Type: application/json' \
  --data '{
  "id": "payout_001",
  "client": "4000020951595032",
  "destination": "3",
  "hash": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
  "amount": "100.50",
  "dt": "2026-03-05 14:30:00",
  "phone": "+1234567890",
  "card_holder": "JOHN DOE",
  "currency": "EUR",
  "payer_birth_date": "1990-01-15",
  "receiver_fio": "John Doe Smith",
  "receiver_country": "PT",
  "receiver_city": "Lisbon",
  "receiver_zip": "1100-150",
  "receiver_state_code": "ON",
  "receiver_address": "Rua Augusta 25",
  "receiver_address_2": "Apt 4B",
  "receiver_citizenship": "PT",
  "receiver_birth_date": "1985-03-22",
  "payer_ip": "192.168.1.1",
  "email": "john.doe@example.com",
  "detailsofpayment": "https://example.com/payment-details",
  "digital_asset_type": "4"
}'
<response>
  <id>payout_001</id>
  <result>OK</result>
</response>