Files
sendico/interface/models/payment/payment.yaml
2026-02-24 21:26:31 +03:00

280 lines
6.6 KiB
YAML

components:
schemas:
Asset:
type: object
additionalProperties: false
properties:
chain:
$ref: ../../external/chain_network.yaml#/components/schemas/ChainNetwork
token_symbol:
type: string
contract_address:
type: string
LedgerEndpoint:
type: object
properties:
ledger_account_ref:
type: string
contra_ledger_account_ref:
type: string
ManagedWalletEndpoint:
type: object
properties:
managed_wallet_ref:
type: string
asset:
$ref: ./payment.yaml#/components/schemas/Asset
ExternalChainEndpoint:
type: object
properties:
asset:
$ref: ./payment.yaml#/components/schemas/Asset
address:
type: string
memo:
type: string
CardEndpoint:
type: object
properties:
pan:
type: string
firstName:
type: string
lastName:
type: string
exp_month:
type: integer
format: int32
exp_year:
type: integer
format: int32
country:
type: string
CardTokenEndpoint:
type: object
properties:
token:
type: string
masked_pan:
type: string
Endpoint:
type: object
additionalProperties: false
required:
- type
- data
properties:
type:
$ref: ../../external/endpoint_type.yaml#/components/schemas/EndpointType
data:
type: object
additionalProperties: true
metadata:
type: object
additionalProperties:
type: string
Customer:
type: object
additionalProperties: false
properties:
id:
type: string
first_name:
type: string
middle_name:
type: string
last_name:
type: string
ip:
type: string
zip:
type: string
country:
type: string
state:
type: string
city:
type: string
address:
type: string
CurrencyPair:
type: object
additionalProperties: false
required:
- base
- quote
properties:
base:
type: string
quote:
type: string
FxIntent:
type: object
additionalProperties: false
required:
- side
properties:
pair:
$ref: ./payment.yaml#/components/schemas/CurrencyPair
side:
$ref: ../../external/fx_side.yaml#/components/schemas/FxSide
firm:
type: boolean
ttl_ms:
type: integer
format: int64
preferred_provider:
type: string
max_age_ms:
type: integer
format: int32
PaymentIntent:
type: object
additionalProperties: false
required:
- kind
- source
- destination
- amount
properties:
kind:
$ref: ../../external/payment_kind.yaml#/components/schemas/PaymentKind
source:
$ref: ./payment.yaml#/components/schemas/Endpoint
destination:
$ref: ./payment.yaml#/components/schemas/Endpoint
amount:
$ref: ../common/money.yaml#/components/schemas/Money
fx:
$ref: ./payment.yaml#/components/schemas/FxIntent
settlement_mode:
$ref: ../../external/settlement_mode.yaml#/components/schemas/SettlementMode
settlement_currency:
type: string
attributes:
type: object
additionalProperties:
type: string
customer:
$ref: ./payment.yaml#/components/schemas/Customer
PaymentQuote:
type: object
additionalProperties: false
properties:
quoteRef:
type: string
debitAmount:
$ref: ../common/money.yaml#/components/schemas/Money
debitSettlementAmount:
$ref: ../common/money.yaml#/components/schemas/Money
expectedSettlementAmount:
$ref: ../common/money.yaml#/components/schemas/Money
expectedFeeTotal:
$ref: ../common/money.yaml#/components/schemas/Money
feeLines:
type: array
items:
$ref: ./payment.yaml#/components/schemas/FeeLine
fxQuote:
$ref: ./payment.yaml#/components/schemas/FxQuote
FeeLine:
type: object
additionalProperties: false
properties:
ledgerAccountRef:
type: string
amount:
$ref: ../common/money.yaml#/components/schemas/Money
lineType:
type: string
side:
type: string
meta:
type: object
additionalProperties:
type: string
FxQuote:
type: object
additionalProperties: false
properties:
quoteRef:
type: string
baseCurrency:
type: string
quoteCurrency:
type: string
side:
type: string
price:
type: string
baseAmount:
$ref: ../common/money.yaml#/components/schemas/Money
quoteAmount:
$ref: ../common/money.yaml#/components/schemas/Money
expiresAtUnixMs:
type: integer
format: int64
pricedAtUnixMs:
type: integer
format: int64
provider:
type: string
rateRef:
type: string
firm:
type: boolean
PaymentQuoteAggregate:
type: object
additionalProperties: false
properties:
debitAmounts:
type: array
items:
$ref: ../common/money.yaml#/components/schemas/Money
expectedSettlementAmounts:
type: array
items:
$ref: ../common/money.yaml#/components/schemas/Money
expectedFeeTotals:
type: array
items:
$ref: ../common/money.yaml#/components/schemas/Money
Payment:
type: object
additionalProperties: false
properties:
paymentRef:
type: string
idempotencyKey:
type: string
state:
$ref: ../../external/payment_state.yaml#/components/schemas/PaymentState
failureCode:
type: string
failureReason:
type: string
lastQuote:
$ref: ./payment.yaml#/components/schemas/PaymentQuote
createdAt:
type: string
format: date-time
meta:
type: object
additionalProperties:
type: string