import type { ConvertTransAmount, ConvertTransFXRate, EvoTransInfoResponse, MerchantOrderInfoResponse, MerchantTransInfoResponse, PspTransInfoResponse, Result, TransAmount } from './base'; /** * Response message for {@link LinkPayAPI.retrievePayment} API */ export declare class RetrievePaymentResponse { /** Result object */ result: Result; /** Merchant order information object */ merchantOrderInfo?: MerchantOrderInfoResponse; /** Transaction information object */ transactionInfo?: TransactionInfoResponse; /** Payment method object */ paymentMethod?: PaymentMethod; } export interface TransactionInfoResponse { /** Merchant transaction information object */ merchantTransInfo: MerchantTransInfoResponse; /** EVO Cloud transaction information object */ evoTransInfo?: EvoTransInfoResponse; /** PSP transaction information object */ pspTransInfo?: PspTransInfoResponse; /** Transaction amount object * Same as in the LinkPay request. */ transAmount?: TransAmount; /** * user billing amount object * Return when PSP responds. */ billingAmount?: BillingAmount; /** The billing FX rate object between transaction amount to billing amount */ billingFXRate?: BillingFXRate; /** Reserved */ convertTransAmount?: ConvertTransAmount; /** Reserved */ convertTransFXRate?: ConvertTransFXRate; } export interface BillingAmount { /** The three-character currency code as defined in ISO-4217. For example: SGD */ currency: string; /** The amount with a major unit. For example: 24.68 */ value: string; } export interface BillingFXRate { /** The FX rate value with decimal. For example: 0.2011541 */ value: string; /** * The currency of the transAmount. The three-character currency code as defined in ISO-4217. For example: CNY */ baseCurrency: string; /** * The currency of the billingAmount. The three-character currency code as defined in ISO-4217. For example: SGD */ quoteCurrency: string; /** The source of the FX rate. For example: JCB */ source?: string; /** The date of the FX rate with the format YYYYMMDD. For example: 20200518 */ date?: string; } export interface PaymentMethod { /** * The payment method type that the user uses. Possible values are shown as below: “card”, “e-wallet”, “points”, “onlineBanking”, “bankTransfer”, “buyNowPayLater”, “carrierBilling”, “cash”, “prepaidCard”. */ type: string; /** * This is to indicate the sub Payment Method of a transaction. * * - Value defined Refer to Appendix 9.2. - Usage Instruction 1. All values are applied in response from EVO Cloud 2. Field Type: String(32) */ paymentMethodVariant?: string; /** * Card information object * Returned when paymentMethod.type=card */ cardInfo?: CardInfo; /** * E-wallet information object Returned when paymentMethod.type=e-wallet */ ['e-walletInfo']?: EWalletInfo; /** * Online Banking information object Returned when paymentMethod.type=onlineBanking */ onlineBankingInfo?: OnlineBankingInfo; /** * Points information object Returned when paymentMethod.type=points */ pointsInfo?: PointsInfo; /** * Bank Transfer information object Returned when paymentMethod.type=bankTransfer. */ bankTransferInfo?: BankTransferInfo; /** * Buy Now Pay Later information object Returned when paymentMethod.type=buyNowPayLater. */ buyNowPayLaterInfo?: BuyNowPayLaterInfo; /** * Carrier Billing information object Returned when paymentMethod.type=carrierBilling. */ carrierBillingInfo?: CarrierBillingInfo; /** * Cash information object Returned when paymentMethod.type=cash. */ cashInfo?: CashInfo; /** * Prepaid Card information object Returned when paymentMethod.type=prepaidCard. */ prepaidCardInfo?: PrepaidCardInfo; } export interface PrepaidCardInfo { /** * This is to indicate the payment brand of Prepaid Card. - Value defined Refer to the paymentBrands corresponding to “prepaidCard” in Appendix 9.1. */ paymentBrand?: string; } export interface CashInfo { /** * This is to indicate the payment brand of Cash. - Value defined Refer to the paymentBrands corresponding to “cash” in Appendix 9.1. */ paymentBrand?: string; } export interface CarrierBillingInfo { /** * This is to indicate the payment brand of Carrier Billing. - Value defined Refer to the paymentBrands corresponding to “carrierBilling” in Appendix 9.1. */ paymentBrand?: string; } export interface BuyNowPayLaterInfo { /** * This is to indicate the payment brand of Buy Now Pay Later. - Value defined Refer to the paymentBrands corresponding to “buyNowPayLater” in Appendix 9.1. */ paymentBrand?: string; } export interface PointsInfo { /** * This is to indicate the payment brand of Points. - Value defined Refer to the paymentBrands corresponding to “points” in Appendix 9.1. */ paymentBrand?: string; } export interface BankTransferInfo { /** * This is to indicate the payment brand of Bank Transfer. - Value defined Refer to the paymentBrands corresponding to “bankTransfer” in Appendix 9.1. */ paymentBrand?: string; /** This is to indicate the account number of debit account. */ accountNumber?: string; } export interface CardInfo { /** The first 6 digits of the card number to be returned when pay by card. */ first6No: string; /** The last 4 digits of the card number to be returned when pay by card. */ last4No: string; /** * This is to indicate the payment brand of Card. - Value defined Refer to the paymentBrands corresponding to “card” in Appendix 9.1. */ paymentBrand?: string; /** * The funding type “credit”, “debit”, “prepaid” */ fundingType?: string; /** The name of the cardholder. */ holderName?: string; /** The name of the issuing bank. */ issuingBank?: string; /** The country of the issuing bank. Follow the standard of ISO-3166-1 alpha-3. */ issuingCountry?: string; /** * The country of the cardholder. Follow the standard of ISO-3166-1 alpha-3 */ issuerCountry?: string; /** Indicate whether it is a commercial card. */ isCommercial?: boolean; } export interface EWalletInfo { /** * This is to indicate the payment brand of E-wallet. - Value defined Refer to the paymentBrands corresponding to “e-wallet” in Appendix 9.1. */ paymentBrand?: string; /** The user’s e-wallet account ID. */ consumerId?: string; /** The user’s e-wallet account name. */ consumerAccount?: string; } export interface OnlineBankingInfo { /** * This is to indicate the payment brand of Online Banking. - Value defined Refer to the paymentBrands corresponding to “onlineBanking” in Appendix 9.1. */ paymentBrand?: string; } export default RetrievePaymentResponse;