node-beamcheckout
Version:
Package for Beam Checkout
607 lines (606 loc) • 15.3 kB
TypeScript
export declare enum PaymentMethods {
CARD = "CARD",
CARD_INSTALLMENTS = "CARD_INSTALLMENTS",
CARD_TOKEN = "CARD_TOKEN",
CARD_TOKEN_INSTALLMENTS = "CARD_TOKEN_INSTALLMENTS",
QR_PROMPT_PAY = "QR_PROMPT_PAY",
ALIPAY = "ALIPAY",
LINE_PAY = "LINE_PAY",
MOBILE_BANKING = "MOBILE_BANKING",
SHOPEE_PAY = "SHOPEE_PAY",
TRUE_MONEY = "TRUE_MONEY",
WECHAT_PAY = "WECHAT_PAY",
BANGKOK_BANK_APP = "BANGKOK_BANK_APP",
KPLUS = "KPLUS",
KRUNGSRI_APP = "KRUNGSRI_APP",
SCB_EASY = "SCB_EASY"
}
export declare enum BeamFeeType {
TRANSACTION_FEE = "TRANSACTION_FEE",
SERVICE_FEE = "SERVICE_FEE"
}
export declare enum BeamPaymentLinkStatus {
ACTIVE = "ACTIVE",
PAID = "PAID",
EXPIRED = "EXPIRED",
DISABLED = "DISABLED",
VOIDED = "VOIDED",
REFUNDED = "REFUNDED"
}
export declare enum CurrencyCode {
THB = "THB"
}
export type CreatePaymentArgs = {
collectDeliveryAddress?: boolean;
collectPhoneNumber?: boolean;
expiresAt?: string;
feeType?: BeamFeeType;
linkSettings: {
buyNowPayLater?: {
isEnabled?: boolean;
};
card?: {
isEnabled?: boolean;
};
cardInstallments?: {
installments3m?: {
isEnabled?: boolean;
};
installments4m?: {
isEnabled?: boolean;
};
installments6m?: {
isEnabled?: boolean;
};
installments10m?: {
isEnabled?: boolean;
};
isEnabled?: boolean;
};
eWallets?: {
isEnabled?: boolean;
};
mobileBanking?: {
isEnabled?: boolean;
};
qrPromptPay?: {
isEnabled?: boolean;
};
};
order: {
currency: CurrencyCode;
description?: string;
internalNote?: string;
netAmount: number;
orderItems?: {
description?: string;
imageUrl?: string;
itemName?: string;
price: number;
productId?: string;
quantity?: number;
sku?: string;
}[];
referenceId?: string;
};
redirectUrl?: string;
};
export type CreatePaymentResponse = {
id: string;
url: string;
};
export type GetPaymentResponse = {
collectDeliveryAddress: boolean;
collectPhoneNumber: boolean;
expiresAt: string;
feeType: BeamFeeType;
linkSettings: {
buyNowPayLater: {
isEnabled: boolean;
};
card: {
isEnabled: boolean;
};
cardInstallments: {
installments3m: {
isEnabled: boolean;
};
installments4m: {
isEnabled: boolean;
};
installments6m: {
isEnabled: boolean;
};
installments10m: {
isEnabled: boolean;
};
isEnabled: boolean;
};
eWallets: {
isEnabled: boolean;
};
mobileBanking: {
isEnabled: boolean;
};
qrPromptPay: {
isEnabled: boolean;
};
};
merchantId: string;
order: {
currency: CurrencyCode;
description: string;
internalNote: string;
netAmount: number;
orderItems: {
description: string;
imageUrl: string;
itemName: string;
price: number;
productId: string;
quantity: number;
sku: string;
}[];
referenceId: string;
};
paymentLinkId: string;
redirectUrl: string;
status: BeamPaymentLinkStatus;
url: string;
};
export type DisablePaymentResponse = {
code: number;
error?: {
errorCode: string;
errorMessage: string;
};
message: string;
};
export declare enum BeamRefundStatus {
PENDING = "PENDING",
SUCCEEDED = "SUCCEEDED",
FAILED = "FAILED",
DISABLED = "DISABLED",
VOIDED = "VOIDED",
REFUNDED = "REFUNDED"
}
export type RefundPaymentResponse = {
refundId: string;
};
export type GetRefundResponse = {
amount: number;
chargeId: string;
createdAt: string;
currency: CurrencyCode;
failureCode: string;
merchantId: string;
referenceId: string;
refundId: string;
refundReason: string;
status: BeamRefundStatus;
transactionTime: string;
updatedAt: string;
};
export declare enum ChargeSource {
PAYMENT_LINK = "PAYMENT_LINK",
STORE_LINK = "STORE_LINK",
QR_PROMPT_PAY_LINK = "QR_PROMPT_PAY_LINK",
API = "API",
BOLT = "BOLT"
}
export declare enum feeStrategy {
RATE = "RATE",
MINIMUM_AMOUNT = "MINIMUM_AMOUNT"
}
export declare enum BeamTransactionsType {
PENDING = "PENDING",
SUCCEEDED = "SUCCEEDED",
FAILED = "FAILED",
DISABLED = "DISABLED",
VOIDED = "VOIDED",
REFUNDED = "REFUNDED"
}
export type ListTransactionsResponse = {
data: {
chargeSource: ChargeSource;
createdAt: string;
currency: CurrencyCode;
feeAmount: number;
feeStrategy: feeStrategy;
grossAmount: number;
merchantId: string;
netAmount: number;
referenceId: string;
sourceId: string;
transactionId: string;
transactionTime: string;
transactionType: BeamTransactionsType;
vatAmount: number;
}[];
totalCount: number;
};
export type SuccessfulTransactionsResponse = {
chargeSource: ChargeSource;
createdAt: string;
currency: CurrencyCode;
feeAmount: number;
feeStrategy: feeStrategy;
grossAmount: number;
merchantId: string;
netAmount: number;
referenceId: string;
sourceId: string;
transactionId: string;
transactionTime: string;
transactionType: BeamTransactionsType;
vatAmount: number;
};
export type CreateChargePaymentArgs = {
amount: number;
currency: CurrencyCode;
customer?: {
deliveryAddress?: {
address?: {
city?: string;
country?: string;
postCode?: string;
streetAddress?: string;
};
contactName?: string;
phone?: {
countryCode: string;
number: string;
};
};
email?: string;
primaryPhoneNumber?: {
countryCode: string;
number: string;
};
};
paymentMethod: {
alipay?: {};
bangkokBankApp?: {};
card?: {
cardHolderName: string;
expiryMonth: number;
expiryYear: number;
pan: string;
securityCode?: string;
};
cardInstallments?: {
cardHolderName: string;
expiryMonth: number;
expiryYear: number;
installmentPeriod: 3 | 4 | 6 | 10;
pan: string;
securityCode?: string;
};
cardToken?: {
cardTokenId: string;
securityCode: string;
};
cardTokenInstallments?: {
cardTokenId: string;
installmentPeriod: 3 | 4 | 6 | 10;
securityCode: string;
};
kPlus?: {};
krungsriApp?: {};
linePay?: {};
paymentMethodType: PaymentMethods;
qrPromptPay?: {
expiresAt?: string;
};
scbEasy?: {};
shopeePay?: {};
trueMoney?: {};
weChatPay?: {};
};
referenceId?: string;
returnUrl?: string;
skip3dsFlow?: boolean;
};
export declare enum ActionRequired {
NONE = "NONE",
REDIRECT = "REDIRECT",
'ENCODE_IMAGE' = "ENCODE_IMAGE"
}
export type CreateChargePaymentResponse = {
actionRequired: ActionRequired;
chargeId: string;
encodedImage?: {
expiry: string;
imageBase64Encoded: string;
rawData: string;
};
paymentMethodType: PaymentMethods;
redirect?: {
redirectUrl: string;
};
};
export declare enum FailureCode {
CH_PROCESSING_FAILED = "CH_PROCESSING_FAILED",
CH_INSUFFICIENT_FUNDS = "CH_INSUFFICIENT_FUNDS",
CH_AUTHENTICATION_FAILED = "CH_AUTHENTICATION_FAILED"
}
export declare enum BeamChargeStatus {
PENDING = "PENDING",
SUCCEEDED = "SUCCEEDED",
FAILED = "FAILED"
}
export type GetChargePaymentResponse = {
amount: number;
chargeId: string;
createdAt: string;
currency: CurrencyCode;
customer?: {
deliveryAddress: {
address: {
city: string;
country: string;
postCode: string;
streetAddress: string;
};
contactName: string;
phone: {
countryCode: string;
number: string;
};
};
email: string;
primaryPhone: {
countryCode: string;
number: string;
};
};
failureCode: FailureCode;
merchantId: string;
paymentMethod: {
alipay?: {};
bangkokBankApp?: {};
card?: {
brand: string;
countryAlpha2: string;
last4: string;
};
cardInstallments?: {
brand: string;
countryAlpha2: string;
installmentPeriod: 3 | 4 | 6 | 10;
last4: string;
};
kPlus?: {};
krungsriApp?: {};
krungthaiNext?: {};
linePay?: {};
make?: {};
paymentMethodType: PaymentMethods;
qrPromptPay?: {};
scbEasy?: {};
shopeePay?: {};
trueMoney?: {};
weChatPay?: {};
};
referenceId: string;
source: ChargeSource;
sourceId: string;
status: BeamChargeStatus;
transactionTime: string;
updatedAt: string;
};
export type CreateBoltConnectionResponse = {
createdAt: string;
deviceId: string;
id: string;
merchantId: string;
};
export type DeleteBoltConnectionResponse = {
code: number;
message: string;
error?: {
errorCode: string;
errorMessage: string;
};
};
export type GetBoltConnectionResponse = {
createdAt: string;
deviceId: string;
id: string;
merchantId: string;
};
export declare enum BoltIssuerGroup {
BangkokBank = "BangkokBank",
CIMBThaiBank = "CIMBThaiBank",
KasikornBank = "KasikornBank",
KrungsriBank = "KrungsriBank",
KrungsriFirstChoice = "KrungsriFirstChoice",
KrungthaiBank = "KrungthaiBank",
SiamCommercialBank = "SiamCommercialBank",
TMBThanachartBank = "TMBThanachartBank",
UnitedOverseasBank = "UnitedOverseasBank",
Ungrouped = "Ungrouped",
Unknown = "Unknown"
}
export declare enum BoltStatus {
ACTIVE = "ACTIVE",
CANCELED = "CANCELED",
EXPIRED = "EXPIRED"
}
export type CreateBoltIntentArgs = {
amount: number;
boltConnectionId?: string;
currency: CurrencyCode;
expiryDurationInSec: number;
internalNote?: string;
paymentMethod: {
alipay?: {};
card?: {};
cardInstallments?: {
installmentPeriod: 3 | 4 | 6 | 10;
issuerGroup: BoltIssuerGroup;
};
linePay?: {};
paymentMethodType: PaymentMethods;
qrPromptPay?: {};
shopeePay?: {};
trueMoney?: {};
weChatPay?: {};
};
referenceId: string;
};
export type CreateBoltIntentResponse = {
amount: number;
boltConnectionId: string;
createdAt: string;
createdBy: string;
currency: CurrencyCode;
expiresAt: string;
id: string;
internalNote: string;
merchant: {
logoUrl: string;
merchantId: string;
name: string;
};
paymentMethod: {
alipay: {};
card: {};
cardInstallments: {
installmentPeriod: 3 | 4 | 6 | 10;
issuerGroup: BoltIssuerGroup;
};
linePay: {};
paymentMethodType: PaymentMethods;
qrPromptPay: {};
shopeePay: {};
trueMoney: {};
weChatPay: {};
};
referenceId: string;
status: BoltStatus;
updatedAt: string;
updatedBy: string;
};
export type CancelBoltIntentResponse = {
code: number;
error?: {
errorCode: string;
errorMessage: string;
};
message: string;
};
export type ChargeSuccessWebhook = {
chargeId: string;
merchantId: string;
referenceId: string;
status: BeamTransactionsType;
currency: CurrencyCode;
amount: number;
source: ChargeSource;
sourceId: string;
transactionTime: string;
paymentMethod: {
paymentMethodType: PaymentMethods;
card: {
last4: string;
brand: string;
countryAlpha2: string;
};
cardInstallments: string | null;
cardNetworkToken: string | null;
qrPromptPay: string | null;
alipay: string | null;
weChatPay: string | null;
trueMoney: string | null;
linePay: string | null;
shopeePay: string | null;
make: string | null;
bangkokBankApp: string | null;
kPlus: string | null;
scbEasy: string | null;
krungsriApp: string | null;
krungthaiNext: string | null;
};
failureCode: FailureCode;
customer: {
primaryPhone: {
countryCode: string;
number: string;
};
email: string;
deliveryAddress: {
contactName: string;
phone: {
countryCode: string;
number: string;
};
address: {
streetAddress: string;
city: string;
country: string;
postCode: string;
};
};
};
createdAt: string;
updatedAt: string;
};
export type PaymentLinkPaidWebhook = {
paymentLinkId: string;
merchantId: string;
url: string;
status: 'PAID';
order: {
netAmount: number;
currency: CurrencyCode;
description: string;
internalNote: string;
referenceId: string;
orderItems: {
description: string;
imageUrl: string;
itemName: string;
price: number;
productId: string;
quantity: number;
sku: string;
}[];
};
linkSettings: {
buyNowPayLater: {
isEnabled: boolean;
};
card: {
isEnabled: boolean;
};
cardInstallments: {
installments3m: {
isEnabled: boolean;
};
installments4m: {
isEnabled: boolean;
};
installments6m: {
isEnabled: boolean;
};
installments10m: {
isEnabled: boolean;
};
};
qrPromptPay: {
isEnabled: boolean;
};
eWallets: {
isEnabled: boolean;
};
mobileBanking: {
isEnabled: boolean;
};
};
collectDeliveryAddress: boolean;
collectPhoneNumber: boolean;
redirectUrl: string;
expiresAt: string;
feeType: BeamFeeType;
};