/**
* NOTE: This class is auto generated by DANA Indonesia.
* Do not edit the class manually.
*/
import type { ValidationErrorContext } from '../../../runtime';
import type { Money } from './Money';
/**
*
* @export
* @interface PayOptionInfo
*/
export interface PayOptionInfo {
/**
* Payment method name. The enums:
* * BALANCE - Payment method with balance
* * COUPON - Payment method with coupon
* * NET_BANKING - Payment method with internet banking
* * CREDIT_CARD - Payment method with credit card
* * DEBIT_CARD - Payment method with debit card
* * VIRTUAL_ACCOUNT - Payment method with virtual account
* * OTC - Payment method with OTC
* * DIRECT_DEBIT_CREDIT_CARD - Payment method with direct debit of credit card
* * DIRECT_DEBIT_DEBIT_CARD - Payment method with direct debit of debit card
* * ONLINE_CREDIT - Payment method with online Credit
* * LOAN_CREDIT - Payment method with DANA Cicil
* * NETWORK_PAY - Payment method with e-wallet
* * CARD - Payment method with Card
*
* @type {string}
* @memberof PayOptionInfo
*/
payMethod: PayOptionInfoPayMethodEnum;
/**
* Payment option which shows the provider of this payment. The enums:
* * NETWORK_PAY_PG_SPAY - Payment method with ShopeePay e-wallet
* * NETWORK_PAY_PG_OVO - Payment method with OVO e-wallet
* * NETWORK_PAY_PG_GOPAY - Payment method with GoPay e-wallet
* * NETWORK_PAY_PG_LINKAJA - Payment method with LinkAja e-wallet
* * NETWORK_PAY_PG_CARD - Payment method with Card
* * NETWORK_PAY_PC_INDOMARET - Payment method with Indomaret
* * NETWORK_PAY_PG_QRIS - Payment method with QRIS
* * NETWORK_PAY_PL_INDODANA - Payment method with Paylater Indodana
* * VIRTUAL_ACCOUNT_BCA - Payment method with BCA virtual account
* * VIRTUAL_ACCOUNT_BNI - Payment method with BNI virtual account
* * VIRTUAL_ACCOUNT_MANDIRI - Payment method with Mandiri virtual account
* * VIRTUAL_ACCOUNT_BRI - Payment method with BRI virtual account
* * VIRTUAL_ACCOUNT_BTPN - Payment method with BTPN virtual account
* * VIRTUAL_ACCOUNT_CIMB - Payment method with CIMB virtual account
* * VIRTUAL_ACCOUNT_PERMATA - Payment method with Permata virtual account
* * VIRTUAL_ACCOUNT_PANI - Payment method with Panin virtual account
* * VIRTUAL_ACCOUNT_BSI_PAYMENT - Payment method with BSI virtual account
*
* @type {string}
* @memberof PayOptionInfo
*/
payOption?: PayOptionInfoPayOptionEnum;
/**
* Pay amount. Contains two sub-fields:
* 1. Value: Transaction amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof PayOptionInfo
*/
payAmount?: Money;
/**
* Trans amount. Contains two sub-fields:
* 1. Value: Transaction amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof PayOptionInfo
*/
transAmount?: Money;
/**
* Charge amount. Contains two sub-fields:
* 1. Value: Transaction amount, including the cents
* 2. Currency: Currency code based on ISO
*
* @type {Money}
* @memberof PayOptionInfo
*/
chargeAmount?: Money;
/**
* Extend information of pay option bill
* @type {string}
* @memberof PayOptionInfo
*/
payOptionBillExtendInfo?: string;
/**
* Extend information
* @type {string}
* @memberof PayOptionInfo
*/
extendInfo?: string;
/**
* Payment code
* @type {string}
* @memberof PayOptionInfo
*/
paymentCode?: string;
}
/**
* @export
*/
export declare const PayOptionInfoPayMethodEnum: {
readonly Balance: "BALANCE";
readonly Coupon: "COUPON";
readonly NetBanking: "NET_BANKING";
readonly CreditCard: "CREDIT_CARD";
readonly DebitCard: "DEBIT_CARD";
readonly VirtualAccount: "VIRTUAL_ACCOUNT";
readonly Otc: "OTC";
readonly DirectDebitCreditCard: "DIRECT_DEBIT_CREDIT_CARD";
readonly DirectDebitDebitCard: "DIRECT_DEBIT_DEBIT_CARD";
readonly OnlineCredit: "ONLINE_CREDIT";
readonly LoanCredit: "LOAN_CREDIT";
readonly NetworkPay: "NETWORK_PAY";
readonly Card: "CARD";
};
export type PayOptionInfoPayMethodEnum = typeof PayOptionInfoPayMethodEnum[keyof typeof PayOptionInfoPayMethodEnum] | '';
/**
* @export
*/
export declare const PayOptionInfoPayOptionEnum: {
readonly NetworkPayPgSpay: "NETWORK_PAY_PG_SPAY";
readonly NetworkPayPgOvo: "NETWORK_PAY_PG_OVO";
readonly NetworkPayPgGopay: "NETWORK_PAY_PG_GOPAY";
readonly NetworkPayPgLinkaja: "NETWORK_PAY_PG_LINKAJA";
readonly NetworkPayPgCard: "NETWORK_PAY_PG_CARD";
readonly NetworkPayPcIndomaret: "NETWORK_PAY_PC_INDOMARET";
readonly NetworkPayPgQris: "NETWORK_PAY_PG_QRIS";
readonly NetworkPayPlIndodana: "NETWORK_PAY_PL_INDODANA";
readonly VirtualAccountBca: "VIRTUAL_ACCOUNT_BCA";
readonly VirtualAccountBni: "VIRTUAL_ACCOUNT_BNI";
readonly VirtualAccountMandiri: "VIRTUAL_ACCOUNT_MANDIRI";
readonly VirtualAccountBri: "VIRTUAL_ACCOUNT_BRI";
readonly VirtualAccountBtpn: "VIRTUAL_ACCOUNT_BTPN";
readonly VirtualAccountCimb: "VIRTUAL_ACCOUNT_CIMB";
readonly VirtualAccountPermata: "VIRTUAL_ACCOUNT_PERMATA";
readonly VirtualAccountPani: "VIRTUAL_ACCOUNT_PANI";
readonly VirtualAccountBsiPayment: "VIRTUAL_ACCOUNT_BSI_PAYMENT";
};
export type PayOptionInfoPayOptionEnum = typeof PayOptionInfoPayOptionEnum[keyof typeof PayOptionInfoPayOptionEnum] | '';
/**
* Check if a given object implements the PayOptionInfo interface.
*/
export declare function instanceOfPayOptionInfo(value: object): value is PayOptionInfo;
export declare function PayOptionInfoFromJSON(json: any): PayOptionInfo;
export declare function PayOptionInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PayOptionInfo;
export declare function PayOptionInfoToJSON(json: any): PayOptionInfo;
export declare function PayOptionInfoToJSONTyped(value?: PayOptionInfo | null, ignoreDiscriminator?: boolean): any;
export declare function validatePayOptionInfo(value: PayOptionInfo): ValidationErrorContext[];