node-beamcheckout
Version:
Package for Beam Checkout
151 lines (150 loc) • 3.87 kB
TypeScript
export type PaymentMethods = 'creditCard' | 'internetBanking' | 'eWallet' | 'installmentsCc' | 'bnpl' | 'qrThb';
export type CreatePaymentArgs = {
channel?: string;
expiry?: string;
order: {
currencyCode?: string;
description?: string;
merchantReference?: string;
merchantReferenceId?: string;
netAmount: number;
orderItems?: {
product: {
description?: string;
imageUrl?: string;
name: string;
price: string;
sku?: string;
};
quantity: number;
}[];
totalAmount: number;
totalDiscount?: number;
};
redirectUrl?: string;
requiredFieldsFormId?: string;
supportedPaymentMethods?: PaymentMethods[];
};
export type CreatePaymentResponse = {
purchaseId: string;
paymentLink: string;
};
export type GetPaymentResponse = {
merchantId: string;
paymentId: string;
purchaseId: string;
genericPurchaseId: string;
order: {
merchantReferenceId: string;
merchantReference: string;
description: string;
currencyCode: string;
totalAmount: number;
totalDiscount: number;
netAmount: number;
orderItems: {
product: {
description: string;
imageUrl: string;
name: string;
price: string;
sku: string;
};
quantity: number;
}[];
};
requiredFieldsFormId: string;
merchantBasicInfo: {
availablePaymentMethods: [];
logoUrl: string;
name: string;
};
isDisabled: boolean;
paymentLink: string;
redirectUrl: string;
state: string;
timePaid: Date;
created: Date;
lastUpdated: Date;
customer: {
userId: string;
additionalField0: string;
additionalField1: string;
additionalField2: string;
additionalField3: string;
additionalField4: string;
additionalField5: string;
additionalField6: string;
additionalField7: string;
additionalField8: string;
additionalField9: string;
billingAddress: {
city: string;
country: string;
fullStreetAddress: string;
postCode: string;
};
shippingAddress: {
city: string;
country: string;
fullStreetAddress: string;
postCode: string;
};
contactNumber: string;
dateOfBirth: string;
email: string;
facebookName: string;
firstName: string;
instagramName: string;
lastName: string;
lineId: string;
title: string;
twitterId: string;
};
paymentMethod: string;
channel: string;
originator: {
id: string;
email: string;
};
expiry: string;
installmentPeriod: number;
refunds: {
amount: 0;
created: string;
lastUpdated: string;
status: string;
type: string;
}[];
};
export type DisablePaymentResponse = {
code: number;
message: string;
};
export type BeamWebhook = {
merchantId: string;
purchaseId: string;
state: string;
customer: {
billingAddress: {
fullStreetAddress: string;
city: string;
country: string;
postCode: string;
};
shippingAddress: {
fullStreetAddress: string;
city: string;
country: string;
postCode: string;
};
contactNumber: string;
email: string;
title: string;
firstName: string;
lastName: string;
dateOfBirth: string;
};
created: string;
lastUpdated: string;
};