medusa-payment-comgate-jc
Version:
Comgate payment gateway provider for MedusaJS
58 lines (52 loc) • 2.41 kB
text/typescript
import {
PaymentProcessorError,
PaymentProcessorSessionResponse,
PaymentSessionStatus,
} from "@medusajs/medusa";
import { StatusResponseStatus } from "comgate-node/dist/types/endpoints/status";
export interface ComgatePaymentOptions {
merchant: number;
secret: string;
test: boolean;
debug: boolean;
}
export const PaymentProviderKeys = {
COMGATE_CARD: "comgate_card",
COMGATE_BANK: "comgate_bank",
COMGATE: "comgate",
};
export type ComgatePaymentProcessorSessionResponse = Omit<
PaymentProcessorSessionResponse,
"session_data"
> & {
session_data: ComgateSessionData;
};
export type ComgateSessionData = {
status: PaymentSessionStatus;
comgateData: {
transId: string | null;
status: "INITIATED" | "CREATED" | "ERROR" | StatusResponseStatus;
redirect: string | null;
error: PaymentProcessorError | null;
};
};
export type ComgateStatusRequest = {
merchant: string; // identifikátor e-shopu v systému Comgate
test: boolean; // Hodnota „true“ znamená, že platba byla založena jako testovací, hodnota „false“ znamená produkční verzi.
price: number; // cena za produkt v centech nebo haléřích
curr: string; // kód měny dle ISO 4217
label: string; // krátký popis produktu (1-16 znaků)
refId: string; // reference platby (variabilní symbol, číslo objednávky) v systému e-shopu
email: string; // kontaktní email na Plátce
transId: string; // unikátní alfanumerický identifikátor (kód) transakce (transactionId)
secret: string; // heslo pro komunikaci na pozadí
status: "PAID" | "CANCELLED" | "AUTHORIZED"; // aktuální stav transakce
payerId?: string; // identifikátor Plátce v systému e-shopu
payerName?: string; // předání jména účtu patřící Plátci
payerAcc?: string; // předání čísla účtu Plátce
method?: string; // použitá metoda platby, z tabulky platebních metod
account?: string; // identifikátor bankovního účtu e-shopu, na který Comgate Payments převede peníze
phone?: string; // kontaktní telefon na Plátce
name?: string; // identifikátor produktu – dle této položky je možné vyhledávat ve statistikách plateb Comgate platebního systému
fee?: string; // Pokud má e-shop nastavené automatické strhávání poplatku za platbu, bude v tomto poli spočítaný poplatek za transakci, jinak bude pole nabývat hodnoty „unknown“
};