@crediblemark/buayar 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -11
- package/dist/cli/index.js +21 -11
- package/dist/index.d.mts +127 -7
- package/dist/index.d.ts +127 -7
- package/dist/index.js +453 -215
- package/dist/index.mjs +448 -215
- package/docs/guide.md +92 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -61,12 +61,15 @@
|
|
|
61
61
|
|
|
62
62
|
#### Universal (Recommended)
|
|
63
63
|
```env
|
|
64
|
-
# Active provider: any of the 19 supported names
|
|
65
|
-
|
|
64
|
+
# (optional) Active provider: any of the 19 supported names
|
|
65
|
+
# If empty, the provider is AUTO-DETECTED from filled credentials.
|
|
66
|
+
BUAYAR_PROVIDER=midtrans
|
|
66
67
|
|
|
67
|
-
# Universal credentials (auto-mapped per provider)
|
|
68
|
+
# Universal credentials (auto-mapped per provider — same set for ALL providers)
|
|
68
69
|
BUAYAR_API_KEY=your-server-key-or-secret
|
|
69
70
|
BUAYAR_MERCHANT_CODE=your-merchant-id-or-username
|
|
71
|
+
BUAYAR_CLIENT_KEY=your-client-or-public-key
|
|
72
|
+
BUAYAR_MERCHANT_ID=your-merchant-id
|
|
70
73
|
BUAYAR_SANDBOX=true
|
|
71
74
|
|
|
72
75
|
# Callback & Return URLs
|
|
@@ -74,6 +77,22 @@ BUAYAR_CALLBACK_URL=https://myapp.com/api/payment/webhook
|
|
|
74
77
|
BUAYAR_RETURN_URL=https://myapp.com/payment/finish
|
|
75
78
|
```
|
|
76
79
|
|
|
80
|
+
#### Build-time introspection (portability helpers)
|
|
81
|
+
|
|
82
|
+
Check what a provider actually supports — no docs digging:
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
import { buayar } from "@crediblemark/buayar";
|
|
86
|
+
|
|
87
|
+
buayar.listProviders(); // all 19 registered providers
|
|
88
|
+
buayar.detectProviderFromEnv(process.env); // guess active provider from .env
|
|
89
|
+
buayar.detectProviderFromPayload(payload); // guess provider from webhook payload
|
|
90
|
+
buayar.getCapabilities("duitku");
|
|
91
|
+
// { methods: [...], operations: { refund: false, checkBalance: true, disburse: true } }
|
|
92
|
+
buayar.supports("xendit", "checkBalance"); // true
|
|
93
|
+
buayar.supportsMethod("qris", "stripe"); // true
|
|
94
|
+
```
|
|
95
|
+
|
|
77
96
|
#### Provider-Specific Variables
|
|
78
97
|
|
|
79
98
|
| Variable | Provider | Description |
|
|
@@ -174,9 +193,10 @@ app.post("/api/payment/webhook", async (req, res) => {
|
|
|
174
193
|
#### 5. Zero-Code PG Switch
|
|
175
194
|
```env
|
|
176
195
|
# Switch from Midtrans to Stripe — zero code change required
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
196
|
+
BUAYAR_PROVIDER=stripe
|
|
197
|
+
BUAYAR_API_KEY=sk_live_...
|
|
198
|
+
BUAYAR_WEBHOOK_SECRET=whsec_...
|
|
199
|
+
# (or omit BUAYAR_PROVIDER entirely — provider auto-detected from the credentials)
|
|
180
200
|
```
|
|
181
201
|
|
|
182
202
|
---
|
|
@@ -230,12 +250,15 @@ STRIPE_WEBHOOK_SECRET=whsec_...
|
|
|
230
250
|
|
|
231
251
|
#### Universal (Direkomendasikan)
|
|
232
252
|
```env
|
|
233
|
-
# Provider aktif (19 pilihan
|
|
234
|
-
|
|
253
|
+
# (opsional) Provider aktif (19 pilihan). Bila kosong, AUTO-DIDETEKSI
|
|
254
|
+
# dari kredensial yang terisi. Set var ini sama untuk semua provider.
|
|
255
|
+
BUAYAR_PROVIDER=midtrans
|
|
235
256
|
|
|
236
257
|
# Kredensial Universal (dipetakan otomatis per provider)
|
|
237
258
|
BUAYAR_API_KEY=server-key-atau-secret
|
|
238
259
|
BUAYAR_MERCHANT_CODE=merchant-id-atau-username
|
|
260
|
+
BUAYAR_CLIENT_KEY=client-atau-public-key
|
|
261
|
+
BUAYAR_MERCHANT_ID=merchant-id
|
|
239
262
|
BUAYAR_SANDBOX=true
|
|
240
263
|
|
|
241
264
|
# Callback & Return URL
|
|
@@ -336,9 +359,10 @@ app.post("/api/payment/webhook", async (req, res) => {
|
|
|
336
359
|
#### 5. Zero-Code PG Switch
|
|
337
360
|
```env
|
|
338
361
|
# Ganti dari Midtrans ke Stripe — tanpa ubah satu baris kode pun
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
362
|
+
BUAYAR_PROVIDER=stripe
|
|
363
|
+
BUAYAR_API_KEY=sk_live_...
|
|
364
|
+
BUAYAR_WEBHOOK_SECRET=whsec_...
|
|
365
|
+
# (atau hapus BUAYAR_PROVIDER — provider auto-dideteksi dari kredensial)
|
|
342
366
|
```
|
|
343
367
|
|
|
344
368
|
### 🏷️ Daftar Canonical Payment Methods
|
package/dist/cli/index.js
CHANGED
|
@@ -30,21 +30,30 @@ var p2 = __toESM(require("@clack/prompts"));
|
|
|
30
30
|
|
|
31
31
|
// src/cli/templates.ts
|
|
32
32
|
var DOT_ENV_TEMPLATE = `# \u2500\u2500 @crediblemark/buayar \xB7 Konfigurasi \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
#
|
|
39
|
-
|
|
33
|
+
# CUKUP isi blok universal di bawah. Provider aktif bisa DITENTUKAN sendiri
|
|
34
|
+
# (BUAYAR_PROVIDER) atau DI-AUTODETECT dari kunci kredensial yang terisi.
|
|
35
|
+
# Saat pindah provider, umumnya kode TIDAK berubah \u2014 cukup isi key-nya.
|
|
36
|
+
|
|
37
|
+
# (opsional) Nama provider aktif. Bila dikosongkan, otomatis dideteksi.
|
|
38
|
+
# midtrans | duitku | ipaymu | xendit | doku | prismalink | faspay | finpay
|
|
39
|
+
# nicepay | oy | stripe | paypal | adyen | checkoutcom | razorpay | square
|
|
40
|
+
# payu | braintree | twocheckout
|
|
41
|
+
# BUAYAR_PROVIDER=midtrans
|
|
42
|
+
|
|
43
|
+
# Kredensial Universal \u2014 dipetakan otomatis sesuai provider aktif.
|
|
44
|
+
# Isi sesuai kredensial yang diminta provider itu (umumnya: secret/key/password).
|
|
45
|
+
BUAYAR_API_KEY=server-key-atau-secret
|
|
40
46
|
BUAYAR_MERCHANT_CODE=merchant-id-atau-username
|
|
47
|
+
BUAYAR_CLIENT_KEY=client-atau-public-key
|
|
48
|
+
BUAYAR_MERCHANT_ID=merchant-id
|
|
41
49
|
BUAYAR_SANDBOX=true
|
|
42
50
|
|
|
43
51
|
# Callback & Return URL
|
|
44
52
|
BUAYAR_CALLBACK_URL=http://localhost:3000/api/payment/webhook
|
|
45
53
|
BUAYAR_RETURN_URL=http://localhost:3000/payment/success
|
|
46
54
|
|
|
47
|
-
# \u2500\u2500 Kredensial Spesifik Provider (
|
|
55
|
+
# \u2500\u2500 Kredensial Spesifik Provider (opsional & lanjutan) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
56
|
+
# Bisa diisi bila ingin eksplisit; bila kosong, nilai universal di atas dipakai.
|
|
48
57
|
# MIDTRANS_SERVER_KEY=
|
|
49
58
|
# MIDTRANS_CLIENT_KEY=
|
|
50
59
|
# DUITKU_API_KEY=
|
|
@@ -76,6 +85,7 @@ BUAYAR_RETURN_URL=http://localhost:3000/payment/success
|
|
|
76
85
|
# ADYEN_MERCHANT_ACCOUNT=
|
|
77
86
|
# ADYEN_HMAC_KEY=
|
|
78
87
|
# CHECKOUTCOM_SECRET_KEY=
|
|
88
|
+
# CHECKOUTCOM_PUBLIC_KEY=
|
|
79
89
|
# CHECKOUTCOM_WEBHOOK_SECRET=
|
|
80
90
|
# RAZORPAY_KEY_ID=
|
|
81
91
|
# RAZORPAY_KEY_SECRET=
|
|
@@ -290,7 +300,7 @@ var README_PAYMENT_TEMPLATE = (framework, provider) => `# \u{1F4B3} Payment \u20
|
|
|
290
300
|
|
|
291
301
|
Scaffold dibuat otomatis oleh \`buayar init\`.
|
|
292
302
|
|
|
293
|
-
- **Provider aktif:** \`${provider}\` (ganti di \`.env\` \u2192 \`
|
|
303
|
+
- **Provider aktif:** \`${provider}\` (ganti di \`.env\` \u2192 \`BUAYAR_PROVIDER\`)
|
|
294
304
|
- **Framework route:** \`${framework}\`
|
|
295
305
|
|
|
296
306
|
## Struktur
|
|
@@ -308,7 +318,7 @@ src/payment/
|
|
|
308
318
|
4. Notifikasi masuk ke \`POST /api/payment/webhook\` \u2192 diverifikasi otomatis.
|
|
309
319
|
|
|
310
320
|
## Ganti Provider
|
|
311
|
-
Ubah \`
|
|
321
|
+
Ubah \`BUAYAR_PROVIDER\` + kredensial di \`.env\`. Kode \`service.ts\`/route **tidak berubah**.
|
|
312
322
|
|
|
313
323
|
> Dokumentasi lengkap: https://github.com/crediblemark-official/Buayar#readme
|
|
314
324
|
`;
|
|
@@ -474,7 +484,7 @@ function printScaffoldSummary(result) {
|
|
|
474
484
|
}
|
|
475
485
|
|
|
476
486
|
// src/cli/index.ts
|
|
477
|
-
var VERSION = "0.
|
|
487
|
+
var VERSION = "0.7.0";
|
|
478
488
|
function parseArgs(argv) {
|
|
479
489
|
const flags = [];
|
|
480
490
|
const rest = [];
|
package/dist/index.d.mts
CHANGED
|
@@ -33,7 +33,7 @@ interface MandiriBillInfo {
|
|
|
33
33
|
}
|
|
34
34
|
interface InvoiceResponse {
|
|
35
35
|
success: boolean;
|
|
36
|
-
/** Provider yang memproses invoice ini ('midtrans' | 'duitku') */
|
|
36
|
+
/** Provider yang memproses invoice ini ('midtrans' | 'duitku' | 'doku' ...) */
|
|
37
37
|
provider?: string;
|
|
38
38
|
/** Order ID unik dari merchant */
|
|
39
39
|
orderId?: string;
|
|
@@ -43,6 +43,8 @@ interface InvoiceResponse {
|
|
|
43
43
|
paymentUrl?: string;
|
|
44
44
|
/** Reference number dari Payment Gateway */
|
|
45
45
|
reference?: string;
|
|
46
|
+
/** Dimensi hasil kanal spesifik (VA / QRIS / e-Wallet / Checkout) untuk typing strict. */
|
|
47
|
+
mode?: PaymentMode;
|
|
46
48
|
/** Nomor Virtual Account (untuk metode Bank Transfer / VA) */
|
|
47
49
|
vaNumber?: string;
|
|
48
50
|
/** Nama Bank dari Virtual Account (misal: "bca", "bni", "bri", "mandiri", "permata") */
|
|
@@ -59,11 +61,32 @@ interface InvoiceResponse {
|
|
|
59
61
|
billInfo?: MandiriBillInfo;
|
|
60
62
|
/** Waktu kedaluwarsa tagihan pembayaran */
|
|
61
63
|
expiresAt?: Date | string;
|
|
62
|
-
/** Raw response asli dari API provider */
|
|
64
|
+
/** Raw response asli dari API provider (termasuk saat gagal) */
|
|
63
65
|
rawResponse: any;
|
|
64
66
|
/** Pesan error jika gagal */
|
|
65
67
|
error?: string;
|
|
66
68
|
}
|
|
69
|
+
/** Kanal pembayaran hasil invoice — membantu typing strict dan rendering UI. */
|
|
70
|
+
type PaymentMode = "checkout" | "va" | "qris" | "ewallet" | "retail" | "other";
|
|
71
|
+
/** Hasil invoice khusus Virtual Account (mode === 'va'). */
|
|
72
|
+
interface VirtualAccountResponse extends InvoiceResponse {
|
|
73
|
+
mode: "va";
|
|
74
|
+
vaNumber: string;
|
|
75
|
+
vaBank?: string;
|
|
76
|
+
}
|
|
77
|
+
/** Hasil invoice khusus QRIS (mode === 'qris'). */
|
|
78
|
+
interface QrisResponse extends InvoiceResponse {
|
|
79
|
+
mode: "qris";
|
|
80
|
+
qrString: string;
|
|
81
|
+
qrCodeUrl?: string;
|
|
82
|
+
}
|
|
83
|
+
/** Hasil invoice khusus e-Wallet (mode === 'ewallet'). */
|
|
84
|
+
interface EWalletResponse extends InvoiceResponse {
|
|
85
|
+
mode: "ewallet";
|
|
86
|
+
checkoutUrl?: string;
|
|
87
|
+
paymentUrl?: string;
|
|
88
|
+
deeplink?: string;
|
|
89
|
+
}
|
|
67
90
|
interface VerifyCallbackResult {
|
|
68
91
|
isValid: boolean;
|
|
69
92
|
provider?: string;
|
|
@@ -1026,10 +1049,52 @@ declare class PaymentManager {
|
|
|
1026
1049
|
}
|
|
1027
1050
|
declare const paymentManager: PaymentManager;
|
|
1028
1051
|
|
|
1052
|
+
interface ProviderCapability {
|
|
1053
|
+
/** Metode pembayaran kanonik yang didukung provider ini */
|
|
1054
|
+
methods: string[];
|
|
1055
|
+
/** Operasi lanjutan yang didukung */
|
|
1056
|
+
operations: {
|
|
1057
|
+
refund: boolean;
|
|
1058
|
+
checkBalance: boolean;
|
|
1059
|
+
disburse: boolean;
|
|
1060
|
+
};
|
|
1061
|
+
}
|
|
1062
|
+
interface ProviderDescriptor extends ProviderCapability {
|
|
1063
|
+
name: string;
|
|
1064
|
+
/** Kunci env kredensial yang menandakan provider ini aktif (untuk autodetect) */
|
|
1065
|
+
envKeys: string[];
|
|
1066
|
+
}
|
|
1029
1067
|
/**
|
|
1030
|
-
*
|
|
1031
|
-
*
|
|
1032
|
-
|
|
1068
|
+
* Pendeteksi / registrar provider dinamis.
|
|
1069
|
+
* Metadata provider terpusat di sini sehingga:
|
|
1070
|
+
* - Daftar provider bisa ditambah tanpa ubah core (register(...)).
|
|
1071
|
+
* - Provider aktif bisa di-autodetect dari kredensial .env.
|
|
1072
|
+
* - Provider pengirim webhook bisa ditebak dari struktur payload.
|
|
1073
|
+
* - Capability (metode + operasi) bisa di-query secara runtime.
|
|
1074
|
+
*/
|
|
1075
|
+
declare class ProviderRegistry {
|
|
1076
|
+
private descriptors;
|
|
1077
|
+
constructor(initial?: ProviderDescriptor[]);
|
|
1078
|
+
register(desc: ProviderDescriptor): void;
|
|
1079
|
+
unregister(name: string): boolean;
|
|
1080
|
+
has(name: string): boolean;
|
|
1081
|
+
get(name: string): ProviderDescriptor | undefined;
|
|
1082
|
+
names(): string[];
|
|
1083
|
+
/**
|
|
1084
|
+
* Autodetect provider aktif dari variabel lingkungan.
|
|
1085
|
+
* Mengembalikan nama provider yang kredensial .env-nya terisi penuh,
|
|
1086
|
+
* atau undefined jika tidak ada / ambigu.
|
|
1087
|
+
*/
|
|
1088
|
+
detectFromEnv(env: Record<string, string | undefined>): string | undefined;
|
|
1089
|
+
/**
|
|
1090
|
+
* Autodetect provider dari struktur payload webhook.
|
|
1091
|
+
* Mengembalikan nama provider jika dikenali, else undefined.
|
|
1092
|
+
*/
|
|
1093
|
+
detectFromWebhook(payload: any): string | undefined;
|
|
1094
|
+
}
|
|
1095
|
+
declare function buildDefaultDescriptors(): ProviderDescriptor[];
|
|
1096
|
+
declare const providerRegistry: ProviderRegistry;
|
|
1097
|
+
|
|
1033
1098
|
declare function resolveConfigFromEnv(customConfig?: BuayarConfig): BuayarConfig;
|
|
1034
1099
|
|
|
1035
1100
|
/**
|
|
@@ -1045,7 +1110,8 @@ declare function resolveConfigFromEnv(customConfig?: BuayarConfig): BuayarConfig
|
|
|
1045
1110
|
declare class Buayar {
|
|
1046
1111
|
private manager;
|
|
1047
1112
|
private config;
|
|
1048
|
-
|
|
1113
|
+
private registry;
|
|
1114
|
+
constructor(config?: BuayarConfig, manager?: PaymentManager, registry?: ProviderRegistry);
|
|
1049
1115
|
/**
|
|
1050
1116
|
* Dapatkan salinan konfigurasi aktif saat ini
|
|
1051
1117
|
*/
|
|
@@ -1066,6 +1132,40 @@ declare class Buayar {
|
|
|
1066
1132
|
* Ambil instance provider kelas dasar
|
|
1067
1133
|
*/
|
|
1068
1134
|
getProvider(name?: string): BasePaymentProvider;
|
|
1135
|
+
/**
|
|
1136
|
+
* Daftar nama provider yang terdaftar (bawaan + kustom).
|
|
1137
|
+
*/
|
|
1138
|
+
listProviders(): string[];
|
|
1139
|
+
/**
|
|
1140
|
+
* Registrasi metadata provider kustom untuk deteksi & capability.
|
|
1141
|
+
* Contoh: buayar.registerProviderDescriptor({ name, envKeys, methods, operations })
|
|
1142
|
+
*/
|
|
1143
|
+
registerProviderDescriptor(desc: ProviderDescriptor): void;
|
|
1144
|
+
/**
|
|
1145
|
+
* Cek capability (metode + operasi) provider tertentu — atau provider aktif bila kosong.
|
|
1146
|
+
* Jawab pertanyaan "provider ini dukung apa?" secara runtime, tanpa bongkar dokumen.
|
|
1147
|
+
*/
|
|
1148
|
+
getCapabilities(name?: string): ProviderCapability | undefined;
|
|
1149
|
+
/**
|
|
1150
|
+
* Deteksi nama provider dari struktur payload webhook.
|
|
1151
|
+
*/
|
|
1152
|
+
detectProviderFromPayload(payload: any): string | undefined;
|
|
1153
|
+
/**
|
|
1154
|
+
* Deteksi nama provider aktif dari variabel lingkungan (kredensial yang terisi).
|
|
1155
|
+
*/
|
|
1156
|
+
detectProviderFromEnv(env?: Record<string, string | undefined>): string | undefined;
|
|
1157
|
+
/**
|
|
1158
|
+
* Logika "bisa pakai X dengan provider Y?" — helper untuk portabilitas.
|
|
1159
|
+
*/
|
|
1160
|
+
supports(name: string, operation: "refund" | "checkBalance" | "disburse"): boolean;
|
|
1161
|
+
/**
|
|
1162
|
+
* Daftar metode pembayaran yang benar2 tersedia untuk provider aktif.
|
|
1163
|
+
*/
|
|
1164
|
+
getSupportedMethods(name?: string): string[];
|
|
1165
|
+
/**
|
|
1166
|
+
* Iterasi CEPAT: apakah provider aktif mendukung method kanonik tertentu?
|
|
1167
|
+
*/
|
|
1168
|
+
supportsMethod(method: string, name?: string): boolean;
|
|
1069
1169
|
/**
|
|
1070
1170
|
* Buat transaksi pembayaran baru (Mendukung Semi dan Full Integrasi)
|
|
1071
1171
|
*/
|
|
@@ -1391,6 +1491,11 @@ declare function snapExternalId(prefix?: string): string;
|
|
|
1391
1491
|
* @returns true when the X-SIGNATURE matches.
|
|
1392
1492
|
*/
|
|
1393
1493
|
declare function verifySnapWebhookSignature(headers: Record<string, string | string[] | undefined>, body: any, clientSecret: string, endpointUrl?: string): boolean;
|
|
1494
|
+
/**
|
|
1495
|
+
* Map a DOKU SNAP error (responseMessage/responseCode) to an actionable hint
|
|
1496
|
+
* for developers, so config gaps (missing BIN / merchantId / keys) are obvious.
|
|
1497
|
+
*/
|
|
1498
|
+
declare function snapErrorHint(message: string, code?: string): string | undefined;
|
|
1394
1499
|
|
|
1395
1500
|
/**
|
|
1396
1501
|
* Generate signature PrismaLink
|
|
@@ -1585,6 +1690,21 @@ declare class SnapClient {
|
|
|
1585
1690
|
extraHeaders?: Record<string, string>;
|
|
1586
1691
|
}): Promise<any>;
|
|
1587
1692
|
}
|
|
1693
|
+
/** DOKU SNAP API error with structured diagnostics (status code + raw response). */
|
|
1694
|
+
declare class SnapApiError extends Error {
|
|
1695
|
+
readonly status: number;
|
|
1696
|
+
readonly responseCode?: string;
|
|
1697
|
+
readonly raw: any;
|
|
1698
|
+
readonly endpoint?: string;
|
|
1699
|
+
readonly method?: string;
|
|
1700
|
+
constructor(message: string, opts: {
|
|
1701
|
+
status: number;
|
|
1702
|
+
code?: string;
|
|
1703
|
+
raw?: any;
|
|
1704
|
+
endpoint?: string;
|
|
1705
|
+
method?: string;
|
|
1706
|
+
});
|
|
1707
|
+
}
|
|
1588
1708
|
|
|
1589
1709
|
/**
|
|
1590
1710
|
* Generate MD5 hash string (lowercase)
|
|
@@ -1615,4 +1735,4 @@ declare function safeCompare(a: string, b: string): boolean;
|
|
|
1615
1735
|
*/
|
|
1616
1736
|
declare function getPaymentMethodCategory(code: string, name?: string): "Virtual Account" | "QRIS" | "E-Wallet" | "Retail / Gerai" | "Kartu Kredit" | "Paylater / Cicilan" | "Lainnya";
|
|
1617
1737
|
|
|
1618
|
-
export { AdyenClient, AdyenProvider, BasePaymentProvider, BraintreeClient, BraintreeProvider, Buayar, type BuayarConfig, CANONICAL_TO_DOKU, CANONICAL_TO_DUITKU, CANONICAL_TO_FASPAY, CANONICAL_TO_FINPAY, CANONICAL_TO_IPAYMU, CANONICAL_TO_MIDTRANS, CANONICAL_TO_NICEPAY, CANONICAL_TO_OY, CANONICAL_TO_PRISMALINK, CANONICAL_TO_STRIPE, CANONICAL_TO_XENDIT, CORE_API_METHODS, type CanonicalPaymentMethod, type CheckBalanceResult, type CheckTransactionParams, type CheckTransactionResult, CheckoutComClient, CheckoutComProvider, type CreateInvoiceParams, type CustomerDetails, DUITKU_TO_CANONICAL, type DisburseParams, type DisburseResult, DokuClient, DokuProvider, DuitkuClient, type DuitkuDisbursementParams, DuitkuProvider, FaspayClient, FaspayProvider, FinpayClient, FinpayProvider, type GetPaymentMethodsParams, type GetPaymentMethodsResult, type InvoiceResponse, IpaymuClient, IpaymuProvider, MIDTRANS_PROBE_PAYLOADS, MIDTRANS_STATIC_METHODS, type MandiriBillInfo, MidtransClient, MidtransProvider, NicepayClient, NicepayProvider, OyClient, OyProvider, PaymentManager, type PaymentMethod, type PaymentMethodItem, PaypalClient, PaypalProvider, PayuClient, PayuProvider, PrismalinkClient, PrismalinkProvider, type ProviderConfig, RazorpayClient, RazorpayProvider, type RefundParams, type RefundResult, SnapClient, type SnapClientOptions, SquareClient, SquareProvider, StripeClient, StripeProvider, TwoCheckoutClient, TwoCheckoutProvider, type VerifyCallbackResult, XenditClient, type XenditDisbursementParams, XenditProvider, buayar, buildBraintreeBasicAuth, buildCoreChargePayload, buildPaypalBasicAuth, buildPayuBasicAuth, buildRazorpayBasicAuth, buildTwoCheckoutAuth, formatNicepayTimestamp, generateDokuHeaders, generateFaspaySignature, generateFinpaySignature, generateIpaymuSignature, generateNicepayToken, generateOyHeaders, generatePrismalinkSignature, generateSnapAsymmetricSignature, generateSnapSymmetricSignature, getDuitkuInquirySignatures, getDuitkuPaymentMethodsSignature, getDuitkuStatusSignatures, getPaymentMethodCategory, getXenditAuthHeader, hmacSha256, md5, minifyJson, parseCoreChargeResponse, paymentManager, resolveConfigFromEnv, safeCompare, serializePaypalParams, serializeStripeParams, sha256, sha256Hex, sha512, snapExternalId, snapTimestamp, snapUtcTimestamp, toCanonicalPaymentMethod, toDokuPaymentMethod, toDuitkuPaymentMethod, toFaspayPaymentMethod, toFinpayPaymentMethod, toIpaymuPaymentMethod, toNicepayPaymentMethod, toOyPaymentMethod, toPrismalinkPaymentMethod, toStripePaymentMethod, toXenditPaymentMethod, verifyAdyenWebhook, verifyBraintreeWebhook, verifyCheckoutComWebhook, verifyDokuWebhookSignature, verifyDuitkuCallbackSignature, verifyFaspaySignature, verifyFinpaySignature, verifyIpaymuCallback, verifyNicepayWebhook, verifyOyWebhook, verifyPaypalWebhookSimple, verifyPayuWebhook, verifyPrismalinkSignature, verifyRazorpayWebhook, verifySnapWebhookSignature, verifySquareWebhook, verifyStripeWebhook, verifyTwoCheckoutWebhook, verifyXenditWebhookToken };
|
|
1738
|
+
export { AdyenClient, AdyenProvider, BasePaymentProvider, BraintreeClient, BraintreeProvider, Buayar, type BuayarConfig, CANONICAL_TO_DOKU, CANONICAL_TO_DUITKU, CANONICAL_TO_FASPAY, CANONICAL_TO_FINPAY, CANONICAL_TO_IPAYMU, CANONICAL_TO_MIDTRANS, CANONICAL_TO_NICEPAY, CANONICAL_TO_OY, CANONICAL_TO_PRISMALINK, CANONICAL_TO_STRIPE, CANONICAL_TO_XENDIT, CORE_API_METHODS, type CanonicalPaymentMethod, type CheckBalanceResult, type CheckTransactionParams, type CheckTransactionResult, CheckoutComClient, CheckoutComProvider, type CreateInvoiceParams, type CustomerDetails, DUITKU_TO_CANONICAL, type DisburseParams, type DisburseResult, DokuClient, DokuProvider, DuitkuClient, type DuitkuDisbursementParams, DuitkuProvider, type EWalletResponse, FaspayClient, FaspayProvider, FinpayClient, FinpayProvider, type GetPaymentMethodsParams, type GetPaymentMethodsResult, type InvoiceResponse, IpaymuClient, IpaymuProvider, MIDTRANS_PROBE_PAYLOADS, MIDTRANS_STATIC_METHODS, type MandiriBillInfo, MidtransClient, MidtransProvider, NicepayClient, NicepayProvider, OyClient, OyProvider, PaymentManager, type PaymentMethod, type PaymentMethodItem, type PaymentMode, PaypalClient, PaypalProvider, PayuClient, PayuProvider, PrismalinkClient, PrismalinkProvider, type ProviderCapability, type ProviderConfig, type ProviderDescriptor, ProviderRegistry, type QrisResponse, RazorpayClient, RazorpayProvider, type RefundParams, type RefundResult, SnapApiError, SnapClient, type SnapClientOptions, SquareClient, SquareProvider, StripeClient, StripeProvider, TwoCheckoutClient, TwoCheckoutProvider, type VerifyCallbackResult, type VirtualAccountResponse, XenditClient, type XenditDisbursementParams, XenditProvider, buayar, buildBraintreeBasicAuth, buildCoreChargePayload, buildDefaultDescriptors, buildPaypalBasicAuth, buildPayuBasicAuth, buildRazorpayBasicAuth, buildTwoCheckoutAuth, formatNicepayTimestamp, generateDokuHeaders, generateFaspaySignature, generateFinpaySignature, generateIpaymuSignature, generateNicepayToken, generateOyHeaders, generatePrismalinkSignature, generateSnapAsymmetricSignature, generateSnapSymmetricSignature, getDuitkuInquirySignatures, getDuitkuPaymentMethodsSignature, getDuitkuStatusSignatures, getPaymentMethodCategory, getXenditAuthHeader, hmacSha256, md5, minifyJson, parseCoreChargeResponse, paymentManager, providerRegistry, resolveConfigFromEnv, safeCompare, serializePaypalParams, serializeStripeParams, sha256, sha256Hex, sha512, snapErrorHint, snapExternalId, snapTimestamp, snapUtcTimestamp, toCanonicalPaymentMethod, toDokuPaymentMethod, toDuitkuPaymentMethod, toFaspayPaymentMethod, toFinpayPaymentMethod, toIpaymuPaymentMethod, toNicepayPaymentMethod, toOyPaymentMethod, toPrismalinkPaymentMethod, toStripePaymentMethod, toXenditPaymentMethod, verifyAdyenWebhook, verifyBraintreeWebhook, verifyCheckoutComWebhook, verifyDokuWebhookSignature, verifyDuitkuCallbackSignature, verifyFaspaySignature, verifyFinpaySignature, verifyIpaymuCallback, verifyNicepayWebhook, verifyOyWebhook, verifyPaypalWebhookSimple, verifyPayuWebhook, verifyPrismalinkSignature, verifyRazorpayWebhook, verifySnapWebhookSignature, verifySquareWebhook, verifyStripeWebhook, verifyTwoCheckoutWebhook, verifyXenditWebhookToken };
|
package/dist/index.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ interface MandiriBillInfo {
|
|
|
33
33
|
}
|
|
34
34
|
interface InvoiceResponse {
|
|
35
35
|
success: boolean;
|
|
36
|
-
/** Provider yang memproses invoice ini ('midtrans' | 'duitku') */
|
|
36
|
+
/** Provider yang memproses invoice ini ('midtrans' | 'duitku' | 'doku' ...) */
|
|
37
37
|
provider?: string;
|
|
38
38
|
/** Order ID unik dari merchant */
|
|
39
39
|
orderId?: string;
|
|
@@ -43,6 +43,8 @@ interface InvoiceResponse {
|
|
|
43
43
|
paymentUrl?: string;
|
|
44
44
|
/** Reference number dari Payment Gateway */
|
|
45
45
|
reference?: string;
|
|
46
|
+
/** Dimensi hasil kanal spesifik (VA / QRIS / e-Wallet / Checkout) untuk typing strict. */
|
|
47
|
+
mode?: PaymentMode;
|
|
46
48
|
/** Nomor Virtual Account (untuk metode Bank Transfer / VA) */
|
|
47
49
|
vaNumber?: string;
|
|
48
50
|
/** Nama Bank dari Virtual Account (misal: "bca", "bni", "bri", "mandiri", "permata") */
|
|
@@ -59,11 +61,32 @@ interface InvoiceResponse {
|
|
|
59
61
|
billInfo?: MandiriBillInfo;
|
|
60
62
|
/** Waktu kedaluwarsa tagihan pembayaran */
|
|
61
63
|
expiresAt?: Date | string;
|
|
62
|
-
/** Raw response asli dari API provider */
|
|
64
|
+
/** Raw response asli dari API provider (termasuk saat gagal) */
|
|
63
65
|
rawResponse: any;
|
|
64
66
|
/** Pesan error jika gagal */
|
|
65
67
|
error?: string;
|
|
66
68
|
}
|
|
69
|
+
/** Kanal pembayaran hasil invoice — membantu typing strict dan rendering UI. */
|
|
70
|
+
type PaymentMode = "checkout" | "va" | "qris" | "ewallet" | "retail" | "other";
|
|
71
|
+
/** Hasil invoice khusus Virtual Account (mode === 'va'). */
|
|
72
|
+
interface VirtualAccountResponse extends InvoiceResponse {
|
|
73
|
+
mode: "va";
|
|
74
|
+
vaNumber: string;
|
|
75
|
+
vaBank?: string;
|
|
76
|
+
}
|
|
77
|
+
/** Hasil invoice khusus QRIS (mode === 'qris'). */
|
|
78
|
+
interface QrisResponse extends InvoiceResponse {
|
|
79
|
+
mode: "qris";
|
|
80
|
+
qrString: string;
|
|
81
|
+
qrCodeUrl?: string;
|
|
82
|
+
}
|
|
83
|
+
/** Hasil invoice khusus e-Wallet (mode === 'ewallet'). */
|
|
84
|
+
interface EWalletResponse extends InvoiceResponse {
|
|
85
|
+
mode: "ewallet";
|
|
86
|
+
checkoutUrl?: string;
|
|
87
|
+
paymentUrl?: string;
|
|
88
|
+
deeplink?: string;
|
|
89
|
+
}
|
|
67
90
|
interface VerifyCallbackResult {
|
|
68
91
|
isValid: boolean;
|
|
69
92
|
provider?: string;
|
|
@@ -1026,10 +1049,52 @@ declare class PaymentManager {
|
|
|
1026
1049
|
}
|
|
1027
1050
|
declare const paymentManager: PaymentManager;
|
|
1028
1051
|
|
|
1052
|
+
interface ProviderCapability {
|
|
1053
|
+
/** Metode pembayaran kanonik yang didukung provider ini */
|
|
1054
|
+
methods: string[];
|
|
1055
|
+
/** Operasi lanjutan yang didukung */
|
|
1056
|
+
operations: {
|
|
1057
|
+
refund: boolean;
|
|
1058
|
+
checkBalance: boolean;
|
|
1059
|
+
disburse: boolean;
|
|
1060
|
+
};
|
|
1061
|
+
}
|
|
1062
|
+
interface ProviderDescriptor extends ProviderCapability {
|
|
1063
|
+
name: string;
|
|
1064
|
+
/** Kunci env kredensial yang menandakan provider ini aktif (untuk autodetect) */
|
|
1065
|
+
envKeys: string[];
|
|
1066
|
+
}
|
|
1029
1067
|
/**
|
|
1030
|
-
*
|
|
1031
|
-
*
|
|
1032
|
-
|
|
1068
|
+
* Pendeteksi / registrar provider dinamis.
|
|
1069
|
+
* Metadata provider terpusat di sini sehingga:
|
|
1070
|
+
* - Daftar provider bisa ditambah tanpa ubah core (register(...)).
|
|
1071
|
+
* - Provider aktif bisa di-autodetect dari kredensial .env.
|
|
1072
|
+
* - Provider pengirim webhook bisa ditebak dari struktur payload.
|
|
1073
|
+
* - Capability (metode + operasi) bisa di-query secara runtime.
|
|
1074
|
+
*/
|
|
1075
|
+
declare class ProviderRegistry {
|
|
1076
|
+
private descriptors;
|
|
1077
|
+
constructor(initial?: ProviderDescriptor[]);
|
|
1078
|
+
register(desc: ProviderDescriptor): void;
|
|
1079
|
+
unregister(name: string): boolean;
|
|
1080
|
+
has(name: string): boolean;
|
|
1081
|
+
get(name: string): ProviderDescriptor | undefined;
|
|
1082
|
+
names(): string[];
|
|
1083
|
+
/**
|
|
1084
|
+
* Autodetect provider aktif dari variabel lingkungan.
|
|
1085
|
+
* Mengembalikan nama provider yang kredensial .env-nya terisi penuh,
|
|
1086
|
+
* atau undefined jika tidak ada / ambigu.
|
|
1087
|
+
*/
|
|
1088
|
+
detectFromEnv(env: Record<string, string | undefined>): string | undefined;
|
|
1089
|
+
/**
|
|
1090
|
+
* Autodetect provider dari struktur payload webhook.
|
|
1091
|
+
* Mengembalikan nama provider jika dikenali, else undefined.
|
|
1092
|
+
*/
|
|
1093
|
+
detectFromWebhook(payload: any): string | undefined;
|
|
1094
|
+
}
|
|
1095
|
+
declare function buildDefaultDescriptors(): ProviderDescriptor[];
|
|
1096
|
+
declare const providerRegistry: ProviderRegistry;
|
|
1097
|
+
|
|
1033
1098
|
declare function resolveConfigFromEnv(customConfig?: BuayarConfig): BuayarConfig;
|
|
1034
1099
|
|
|
1035
1100
|
/**
|
|
@@ -1045,7 +1110,8 @@ declare function resolveConfigFromEnv(customConfig?: BuayarConfig): BuayarConfig
|
|
|
1045
1110
|
declare class Buayar {
|
|
1046
1111
|
private manager;
|
|
1047
1112
|
private config;
|
|
1048
|
-
|
|
1113
|
+
private registry;
|
|
1114
|
+
constructor(config?: BuayarConfig, manager?: PaymentManager, registry?: ProviderRegistry);
|
|
1049
1115
|
/**
|
|
1050
1116
|
* Dapatkan salinan konfigurasi aktif saat ini
|
|
1051
1117
|
*/
|
|
@@ -1066,6 +1132,40 @@ declare class Buayar {
|
|
|
1066
1132
|
* Ambil instance provider kelas dasar
|
|
1067
1133
|
*/
|
|
1068
1134
|
getProvider(name?: string): BasePaymentProvider;
|
|
1135
|
+
/**
|
|
1136
|
+
* Daftar nama provider yang terdaftar (bawaan + kustom).
|
|
1137
|
+
*/
|
|
1138
|
+
listProviders(): string[];
|
|
1139
|
+
/**
|
|
1140
|
+
* Registrasi metadata provider kustom untuk deteksi & capability.
|
|
1141
|
+
* Contoh: buayar.registerProviderDescriptor({ name, envKeys, methods, operations })
|
|
1142
|
+
*/
|
|
1143
|
+
registerProviderDescriptor(desc: ProviderDescriptor): void;
|
|
1144
|
+
/**
|
|
1145
|
+
* Cek capability (metode + operasi) provider tertentu — atau provider aktif bila kosong.
|
|
1146
|
+
* Jawab pertanyaan "provider ini dukung apa?" secara runtime, tanpa bongkar dokumen.
|
|
1147
|
+
*/
|
|
1148
|
+
getCapabilities(name?: string): ProviderCapability | undefined;
|
|
1149
|
+
/**
|
|
1150
|
+
* Deteksi nama provider dari struktur payload webhook.
|
|
1151
|
+
*/
|
|
1152
|
+
detectProviderFromPayload(payload: any): string | undefined;
|
|
1153
|
+
/**
|
|
1154
|
+
* Deteksi nama provider aktif dari variabel lingkungan (kredensial yang terisi).
|
|
1155
|
+
*/
|
|
1156
|
+
detectProviderFromEnv(env?: Record<string, string | undefined>): string | undefined;
|
|
1157
|
+
/**
|
|
1158
|
+
* Logika "bisa pakai X dengan provider Y?" — helper untuk portabilitas.
|
|
1159
|
+
*/
|
|
1160
|
+
supports(name: string, operation: "refund" | "checkBalance" | "disburse"): boolean;
|
|
1161
|
+
/**
|
|
1162
|
+
* Daftar metode pembayaran yang benar2 tersedia untuk provider aktif.
|
|
1163
|
+
*/
|
|
1164
|
+
getSupportedMethods(name?: string): string[];
|
|
1165
|
+
/**
|
|
1166
|
+
* Iterasi CEPAT: apakah provider aktif mendukung method kanonik tertentu?
|
|
1167
|
+
*/
|
|
1168
|
+
supportsMethod(method: string, name?: string): boolean;
|
|
1069
1169
|
/**
|
|
1070
1170
|
* Buat transaksi pembayaran baru (Mendukung Semi dan Full Integrasi)
|
|
1071
1171
|
*/
|
|
@@ -1391,6 +1491,11 @@ declare function snapExternalId(prefix?: string): string;
|
|
|
1391
1491
|
* @returns true when the X-SIGNATURE matches.
|
|
1392
1492
|
*/
|
|
1393
1493
|
declare function verifySnapWebhookSignature(headers: Record<string, string | string[] | undefined>, body: any, clientSecret: string, endpointUrl?: string): boolean;
|
|
1494
|
+
/**
|
|
1495
|
+
* Map a DOKU SNAP error (responseMessage/responseCode) to an actionable hint
|
|
1496
|
+
* for developers, so config gaps (missing BIN / merchantId / keys) are obvious.
|
|
1497
|
+
*/
|
|
1498
|
+
declare function snapErrorHint(message: string, code?: string): string | undefined;
|
|
1394
1499
|
|
|
1395
1500
|
/**
|
|
1396
1501
|
* Generate signature PrismaLink
|
|
@@ -1585,6 +1690,21 @@ declare class SnapClient {
|
|
|
1585
1690
|
extraHeaders?: Record<string, string>;
|
|
1586
1691
|
}): Promise<any>;
|
|
1587
1692
|
}
|
|
1693
|
+
/** DOKU SNAP API error with structured diagnostics (status code + raw response). */
|
|
1694
|
+
declare class SnapApiError extends Error {
|
|
1695
|
+
readonly status: number;
|
|
1696
|
+
readonly responseCode?: string;
|
|
1697
|
+
readonly raw: any;
|
|
1698
|
+
readonly endpoint?: string;
|
|
1699
|
+
readonly method?: string;
|
|
1700
|
+
constructor(message: string, opts: {
|
|
1701
|
+
status: number;
|
|
1702
|
+
code?: string;
|
|
1703
|
+
raw?: any;
|
|
1704
|
+
endpoint?: string;
|
|
1705
|
+
method?: string;
|
|
1706
|
+
});
|
|
1707
|
+
}
|
|
1588
1708
|
|
|
1589
1709
|
/**
|
|
1590
1710
|
* Generate MD5 hash string (lowercase)
|
|
@@ -1615,4 +1735,4 @@ declare function safeCompare(a: string, b: string): boolean;
|
|
|
1615
1735
|
*/
|
|
1616
1736
|
declare function getPaymentMethodCategory(code: string, name?: string): "Virtual Account" | "QRIS" | "E-Wallet" | "Retail / Gerai" | "Kartu Kredit" | "Paylater / Cicilan" | "Lainnya";
|
|
1617
1737
|
|
|
1618
|
-
export { AdyenClient, AdyenProvider, BasePaymentProvider, BraintreeClient, BraintreeProvider, Buayar, type BuayarConfig, CANONICAL_TO_DOKU, CANONICAL_TO_DUITKU, CANONICAL_TO_FASPAY, CANONICAL_TO_FINPAY, CANONICAL_TO_IPAYMU, CANONICAL_TO_MIDTRANS, CANONICAL_TO_NICEPAY, CANONICAL_TO_OY, CANONICAL_TO_PRISMALINK, CANONICAL_TO_STRIPE, CANONICAL_TO_XENDIT, CORE_API_METHODS, type CanonicalPaymentMethod, type CheckBalanceResult, type CheckTransactionParams, type CheckTransactionResult, CheckoutComClient, CheckoutComProvider, type CreateInvoiceParams, type CustomerDetails, DUITKU_TO_CANONICAL, type DisburseParams, type DisburseResult, DokuClient, DokuProvider, DuitkuClient, type DuitkuDisbursementParams, DuitkuProvider, FaspayClient, FaspayProvider, FinpayClient, FinpayProvider, type GetPaymentMethodsParams, type GetPaymentMethodsResult, type InvoiceResponse, IpaymuClient, IpaymuProvider, MIDTRANS_PROBE_PAYLOADS, MIDTRANS_STATIC_METHODS, type MandiriBillInfo, MidtransClient, MidtransProvider, NicepayClient, NicepayProvider, OyClient, OyProvider, PaymentManager, type PaymentMethod, type PaymentMethodItem, PaypalClient, PaypalProvider, PayuClient, PayuProvider, PrismalinkClient, PrismalinkProvider, type ProviderConfig, RazorpayClient, RazorpayProvider, type RefundParams, type RefundResult, SnapClient, type SnapClientOptions, SquareClient, SquareProvider, StripeClient, StripeProvider, TwoCheckoutClient, TwoCheckoutProvider, type VerifyCallbackResult, XenditClient, type XenditDisbursementParams, XenditProvider, buayar, buildBraintreeBasicAuth, buildCoreChargePayload, buildPaypalBasicAuth, buildPayuBasicAuth, buildRazorpayBasicAuth, buildTwoCheckoutAuth, formatNicepayTimestamp, generateDokuHeaders, generateFaspaySignature, generateFinpaySignature, generateIpaymuSignature, generateNicepayToken, generateOyHeaders, generatePrismalinkSignature, generateSnapAsymmetricSignature, generateSnapSymmetricSignature, getDuitkuInquirySignatures, getDuitkuPaymentMethodsSignature, getDuitkuStatusSignatures, getPaymentMethodCategory, getXenditAuthHeader, hmacSha256, md5, minifyJson, parseCoreChargeResponse, paymentManager, resolveConfigFromEnv, safeCompare, serializePaypalParams, serializeStripeParams, sha256, sha256Hex, sha512, snapExternalId, snapTimestamp, snapUtcTimestamp, toCanonicalPaymentMethod, toDokuPaymentMethod, toDuitkuPaymentMethod, toFaspayPaymentMethod, toFinpayPaymentMethod, toIpaymuPaymentMethod, toNicepayPaymentMethod, toOyPaymentMethod, toPrismalinkPaymentMethod, toStripePaymentMethod, toXenditPaymentMethod, verifyAdyenWebhook, verifyBraintreeWebhook, verifyCheckoutComWebhook, verifyDokuWebhookSignature, verifyDuitkuCallbackSignature, verifyFaspaySignature, verifyFinpaySignature, verifyIpaymuCallback, verifyNicepayWebhook, verifyOyWebhook, verifyPaypalWebhookSimple, verifyPayuWebhook, verifyPrismalinkSignature, verifyRazorpayWebhook, verifySnapWebhookSignature, verifySquareWebhook, verifyStripeWebhook, verifyTwoCheckoutWebhook, verifyXenditWebhookToken };
|
|
1738
|
+
export { AdyenClient, AdyenProvider, BasePaymentProvider, BraintreeClient, BraintreeProvider, Buayar, type BuayarConfig, CANONICAL_TO_DOKU, CANONICAL_TO_DUITKU, CANONICAL_TO_FASPAY, CANONICAL_TO_FINPAY, CANONICAL_TO_IPAYMU, CANONICAL_TO_MIDTRANS, CANONICAL_TO_NICEPAY, CANONICAL_TO_OY, CANONICAL_TO_PRISMALINK, CANONICAL_TO_STRIPE, CANONICAL_TO_XENDIT, CORE_API_METHODS, type CanonicalPaymentMethod, type CheckBalanceResult, type CheckTransactionParams, type CheckTransactionResult, CheckoutComClient, CheckoutComProvider, type CreateInvoiceParams, type CustomerDetails, DUITKU_TO_CANONICAL, type DisburseParams, type DisburseResult, DokuClient, DokuProvider, DuitkuClient, type DuitkuDisbursementParams, DuitkuProvider, type EWalletResponse, FaspayClient, FaspayProvider, FinpayClient, FinpayProvider, type GetPaymentMethodsParams, type GetPaymentMethodsResult, type InvoiceResponse, IpaymuClient, IpaymuProvider, MIDTRANS_PROBE_PAYLOADS, MIDTRANS_STATIC_METHODS, type MandiriBillInfo, MidtransClient, MidtransProvider, NicepayClient, NicepayProvider, OyClient, OyProvider, PaymentManager, type PaymentMethod, type PaymentMethodItem, type PaymentMode, PaypalClient, PaypalProvider, PayuClient, PayuProvider, PrismalinkClient, PrismalinkProvider, type ProviderCapability, type ProviderConfig, type ProviderDescriptor, ProviderRegistry, type QrisResponse, RazorpayClient, RazorpayProvider, type RefundParams, type RefundResult, SnapApiError, SnapClient, type SnapClientOptions, SquareClient, SquareProvider, StripeClient, StripeProvider, TwoCheckoutClient, TwoCheckoutProvider, type VerifyCallbackResult, type VirtualAccountResponse, XenditClient, type XenditDisbursementParams, XenditProvider, buayar, buildBraintreeBasicAuth, buildCoreChargePayload, buildDefaultDescriptors, buildPaypalBasicAuth, buildPayuBasicAuth, buildRazorpayBasicAuth, buildTwoCheckoutAuth, formatNicepayTimestamp, generateDokuHeaders, generateFaspaySignature, generateFinpaySignature, generateIpaymuSignature, generateNicepayToken, generateOyHeaders, generatePrismalinkSignature, generateSnapAsymmetricSignature, generateSnapSymmetricSignature, getDuitkuInquirySignatures, getDuitkuPaymentMethodsSignature, getDuitkuStatusSignatures, getPaymentMethodCategory, getXenditAuthHeader, hmacSha256, md5, minifyJson, parseCoreChargeResponse, paymentManager, providerRegistry, resolveConfigFromEnv, safeCompare, serializePaypalParams, serializeStripeParams, sha256, sha256Hex, sha512, snapErrorHint, snapExternalId, snapTimestamp, snapUtcTimestamp, toCanonicalPaymentMethod, toDokuPaymentMethod, toDuitkuPaymentMethod, toFaspayPaymentMethod, toFinpayPaymentMethod, toIpaymuPaymentMethod, toNicepayPaymentMethod, toOyPaymentMethod, toPrismalinkPaymentMethod, toStripePaymentMethod, toXenditPaymentMethod, verifyAdyenWebhook, verifyBraintreeWebhook, verifyCheckoutComWebhook, verifyDokuWebhookSignature, verifyDuitkuCallbackSignature, verifyFaspaySignature, verifyFinpaySignature, verifyIpaymuCallback, verifyNicepayWebhook, verifyOyWebhook, verifyPaypalWebhookSimple, verifyPayuWebhook, verifyPrismalinkSignature, verifyRazorpayWebhook, verifySnapWebhookSignature, verifySquareWebhook, verifyStripeWebhook, verifyTwoCheckoutWebhook, verifyXenditWebhookToken };
|