Skip to main content

Conventions

Last updated: 2026-04-20

JSON mapping (protobuf / gRPC-Gateway)

This API is generated from protobuf. That has two important consequences:

  • Field names are lowerCamelCase in JSON (for example, currencyCode, merchantReference).
  • int64 fields are encoded as JSON strings (for example, "amount": "10000").
  • Validation error paths use protobuf/snake_case field notation, even when the JSON request field is lowerCamelCase.
  • Localized merchant validations may append a |<messageId> suffix (for example, currency_code|payin.currency.required), while other validation errors may use just the field path (for example, mobile_money_details.operator).

Amounts

  • amount is expressed in minor units (for example, cents).
  • It is transmitted as a string in JSON (because it is int64 in protobuf).

Enums

Enum values are represented as strings (the enum constant name), for example:

  • paymentMethod: "PAYMENT_METHOD_BANK_ACCOUNT"
  • status: "PAYMENT_ORDER_STATUS_PENDING"

Timestamps

Timestamps are RFC3339 / ISO 8601 strings, for example:

  • "2025-10-30T14:35:22.123456Z"