package Ġcom . ron jun eval do z . k pay mongo . models . resource Ċ Ċ import Ġcom . ron jun eval do z . k pay mongo . models . Billing Ċ import Ġcom . ron jun eval do z . k pay mongo . models . serializers . Payment Status Serializer Ċ import Ġkotlinx . serialization . Serial Name Ċ import Ġkotlinx . serialization . Serializable Ċ Ċ @ Serializable Ċ data Ġclass ĠCreate Payment Input ( ĊĠĠĠ Ġval Ġdata : ĠPayment Input Ċ ) Ġ{ ĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠPayment Input ( ĊĠĠĠĠĠĠĠ Ġval Ġattributes : ĠAttributes Input ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠAttributes Input ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġamount : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdescription : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrency : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" statement _ descriptor ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatement Descriptor : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource : ĠSource Input ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ@ Serializable ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠSource Input ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype : ĠString ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠPayment Response ( ĊĠĠĠ Ġval Ġdata : ĠPayment Ċ ) ĊĊ Ċ @ Serializable Ċ data Ġclass ĠPayment ( ĊĠĠĠ Ġval Ġid : ĠString , ĊĠĠĠ Ġval Ġattributes : ĠAttributes Ċ ) Ġ: ĠResource () Ġ{ ĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠAttributes ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" access _ url ") ĊĠĠĠĠĠĠĠ Ġval Ġaccess Url : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġamount : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" balance _ transaction _ id ") ĊĠĠĠĠĠĠĠ Ġval Ġbalance Transaction Id : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġbilling : ĠBilling , ĊĠĠĠĠĠĠĠ Ġval Ġcurrency : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġdescription : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġdis put ed : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" external _ reference _ number ") ĊĠĠĠĠĠĠĠ Ġval Ġexternal Reference Number : ĠString ?= null , ĊĠĠĠĠĠĠĠ Ġval Ġfee : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" liv em ode ") ĊĠĠĠĠĠĠĠ Ġval Ġlive Mode : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" net _ amount ") ĊĠĠĠĠĠĠĠ Ġval Ġnet Amount : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġorigin : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" payment _ intent _ id ") ĊĠĠĠĠĠĠĠ Ġval Ġpayment Intent Id : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġpay out : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġsource : ĠSource , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" statement _ descriptor ") ĊĠĠĠĠĠĠĠ Ġval Ġstatement Descriptor : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġstatus : ĠStatus , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" tax _ amount ") ĊĠĠĠĠĠĠĠ Ġval Ġtax Amount : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠSource ( ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġtype : ĠString , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Serializable ( with Ġ= ĠPayment Status Serializer :: class ) ĊĠĠĠ Ġenum Ġclass ĠStatus ( val Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠPay ments ĊĠĠĠĠĠĠĠ ĠPending (" pending "), ĊĠĠĠĠĠĠĠ ĠFailed (" failed "), ĊĠĠĠĠĠĠĠ ĠP aid (" paid ") ĊĠĠĠ Ġ} Ċ }