341 lines
8.1 KiB
YAML
341 lines
8.1 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
|
|
additionalProperties: false
|
|
required:
|
|
- ledger_account_ref
|
|
properties:
|
|
ledger_account_ref:
|
|
type: string
|
|
contra_ledger_account_ref:
|
|
type: string
|
|
|
|
ManagedWalletEndpoint:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- managed_wallet_ref
|
|
properties:
|
|
managed_wallet_ref:
|
|
type: string
|
|
asset:
|
|
$ref: ./payment.yaml#/components/schemas/Asset
|
|
|
|
ExternalChainEndpoint:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- asset
|
|
- address
|
|
properties:
|
|
asset:
|
|
$ref: ./payment.yaml#/components/schemas/Asset
|
|
address:
|
|
type: string
|
|
memo:
|
|
type: string
|
|
|
|
CardEndpoint:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- pan
|
|
properties:
|
|
pan:
|
|
type: string
|
|
firstName:
|
|
type: string
|
|
lastName:
|
|
type: string
|
|
exp_month:
|
|
type: integer
|
|
format: int32
|
|
minimum: 0
|
|
exp_year:
|
|
type: integer
|
|
format: int32
|
|
minimum: 0
|
|
country:
|
|
type: string
|
|
|
|
CardTokenEndpoint:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- token
|
|
properties:
|
|
token:
|
|
type: string
|
|
masked_pan:
|
|
type: string
|
|
|
|
WalletEndpoint:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- walletId
|
|
properties:
|
|
walletId:
|
|
type: string
|
|
|
|
Endpoint:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- type
|
|
- data
|
|
properties:
|
|
type:
|
|
$ref: ../../external/endpoint_type.yaml#/components/schemas/EndpointType
|
|
data:
|
|
oneOf:
|
|
- $ref: ./payment.yaml#/components/schemas/LedgerEndpoint
|
|
- $ref: ./payment.yaml#/components/schemas/ManagedWalletEndpoint
|
|
- $ref: ./payment.yaml#/components/schemas/ExternalChainEndpoint
|
|
- $ref: ./payment.yaml#/components/schemas/CardEndpoint
|
|
- $ref: ./payment.yaml#/components/schemas/CardTokenEndpoint
|
|
- $ref: ./payment.yaml#/components/schemas/WalletEndpoint
|
|
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:
|
|
- pair
|
|
- 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
|
|
fee_treatment:
|
|
type: string
|
|
enum:
|
|
- unspecified
|
|
- add_to_source
|
|
- deduct_from_destination
|
|
attributes:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
customer:
|
|
$ref: ./payment.yaml#/components/schemas/Customer
|
|
|
|
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
|
|
|
|
QuoteFees:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
lines:
|
|
type: array
|
|
items:
|
|
$ref: ./payment.yaml#/components/schemas/FeeLine
|
|
|
|
QuoteAmounts:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
sourcePrincipal:
|
|
$ref: ../common/money.yaml#/components/schemas/Money
|
|
sourceDebitTotal:
|
|
$ref: ../common/money.yaml#/components/schemas/Money
|
|
destinationSettlement:
|
|
$ref: ../common/money.yaml#/components/schemas/Money
|
|
|
|
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
|
|
|
|
PaymentQuote:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
quoteRef:
|
|
type: string
|
|
intentRef:
|
|
type: string
|
|
amounts:
|
|
$ref: ./payment.yaml#/components/schemas/QuoteAmounts
|
|
fees:
|
|
$ref: ./payment.yaml#/components/schemas/QuoteFees
|
|
fxQuote:
|
|
$ref: ./payment.yaml#/components/schemas/FxQuote
|
|
|
|
PaymentOperation:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
stepRef:
|
|
type: string
|
|
code:
|
|
type: string
|
|
state:
|
|
type: string
|
|
label:
|
|
type: string
|
|
failureCode:
|
|
type: string
|
|
failureReason:
|
|
type: string
|
|
startedAt:
|
|
type: string
|
|
format: date-time
|
|
completedAt:
|
|
type: string
|
|
format: date-time
|
|
|
|
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
|
|
operations:
|
|
type: array
|
|
items:
|
|
$ref: ./payment.yaml#/components/schemas/PaymentOperation
|
|
lastQuote:
|
|
$ref: ./payment.yaml#/components/schemas/PaymentQuote
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
meta:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|