linkpay-api
Version:
LinkPay JS/TS API SDK
236 lines (225 loc) • 7.74 kB
TypeScript
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;