@crediblemark/buayar 0.6.2 → 0.8.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 +108 -85
- package/dist/cli/index.js +21 -11
- package/dist/index.d.mts +206 -11
- package/dist/index.d.ts +206 -11
- package/dist/index.js +640 -230
- package/dist/index.mjs +635 -230
- package/docs/guide.md +144 -58
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,43 +30,46 @@
|
|
|
30
30
|
|
|
31
31
|
#### 🇮🇩 Indonesian (10)
|
|
32
32
|
|
|
33
|
-
| Provider | Redirect | Direct API | Webhook | Client |
|
|
34
|
-
|
|
35
|
-
| Midtrans | ✅ Snap | ✅ Core API | SHA-512 | `MidtransClient` |
|
|
36
|
-
| Duitku | ✅ | ✅ | MD5 | `DuitkuClient` |
|
|
37
|
-
| iPaymu | ✅ | ✅ | HMAC-SHA256 | `IpaymuClient` |
|
|
38
|
-
| Xendit | ✅ Invoice v2 | ✅ Payments v3 | Token | `XenditClient` |
|
|
39
|
-
| DOKU Jokul | ✅ v1 | ✅ v2 | HMAC-SHA256 | `DokuClient` |
|
|
40
|
-
| PrismaLink | ✅ | ✅ | SHA-256 | `PrismalinkClient` |
|
|
41
|
-
| Faspay | ✅ | ✅ | SHA1(MD5) | `FaspayClient` |
|
|
42
|
-
| Finpay | ✅ | ✅ | HMAC-SHA512 | `FinpayClient` |
|
|
43
|
-
| Nicepay | ✅ | ✅ | SHA-256 | `NicepayClient` |
|
|
44
|
-
| OY! Bisnis | ✅ | ✅ | Header Auth | `OyClient` |
|
|
33
|
+
| Provider | Status | Redirect | Direct API | Webhook | Client |
|
|
34
|
+
|---|:---:|:---:|:---:|:---:|:---:|
|
|
35
|
+
| Midtrans | Tested | ✅ Snap | ✅ Core API | SHA-512 | `MidtransClient` |
|
|
36
|
+
| Duitku | Tested | ✅ | ✅ | MD5 | `DuitkuClient` |
|
|
37
|
+
| iPaymu | Tested | ✅ | ✅ | HMAC-SHA256 | `IpaymuClient` |
|
|
38
|
+
| Xendit | Tested | ✅ Invoice v2 | ✅ Payments v3 | Token | `XenditClient` |
|
|
39
|
+
| DOKU Jokul | Tested | ✅ v1 | ✅ v2 | HMAC-SHA256 | `DokuClient` |
|
|
40
|
+
| PrismaLink | Tested | ✅ | ✅ | SHA-256 | `PrismalinkClient` |
|
|
41
|
+
| Faspay | Tested | ✅ | ✅ | SHA1(MD5) | `FaspayClient` |
|
|
42
|
+
| Finpay | Tested | ✅ | ✅ | HMAC-SHA512 | `FinpayClient` |
|
|
43
|
+
| Nicepay | Tested | ✅ | ✅ | SHA-256 | `NicepayClient` |
|
|
44
|
+
| OY! Bisnis | Tested | ✅ | ✅ | Header Auth | `OyClient` |
|
|
45
45
|
|
|
46
46
|
#### 🌍 International (9)
|
|
47
47
|
|
|
48
|
-
| Provider | Redirect | Direct API | Webhook | Client |
|
|
49
|
-
|
|
50
|
-
| Stripe | ✅ Checkout Sessions | ✅ Payment Intents | HMAC-SHA256 | `StripeClient` |
|
|
51
|
-
| PayPal | ✅ Orders v2 | ✅ Capture | OAuth2 | `PaypalClient` |
|
|
52
|
-
| Adyen | ✅ Sessions v68 | ✅ Payments v68 | HMAC-SHA256 | `AdyenClient` |
|
|
53
|
-
| Checkout.com | ✅ Payment Links | ✅ Payments API | HMAC-SHA256 | `CheckoutComClient` |
|
|
54
|
-
| Razorpay | ✅ Payment Links | ✅ Orders API | HMAC-SHA256 | `RazorpayClient` |
|
|
55
|
-
| Square | ✅ Payment Links | ✅ Payments API | HMAC-SHA256 | `SquareClient` |
|
|
56
|
-
| PayU | ✅ Orders v2.1 | ✅ Pay Methods | MD5/SHA-256 | `PayuClient` |
|
|
57
|
-
| Braintree | ✅ Drop-in UI Token | ✅ Transaction API | SHA1 HMAC | `BraintreeClient` |
|
|
58
|
-
| 2Checkout | ✅ REST v6.0 | ✅ REST v6.0 | IPN MD5 | `TwoCheckoutClient` |
|
|
48
|
+
| Provider | Status | Redirect | Direct API | Webhook | Client |
|
|
49
|
+
|---|:---:|:---:|:---:|:---:|:---:|
|
|
50
|
+
| Stripe | Tested | ✅ Checkout Sessions | ✅ Payment Intents | HMAC-SHA256 | `StripeClient` |
|
|
51
|
+
| PayPal | Tested | ✅ Orders v2 | ✅ Capture | OAuth2 | `PaypalClient` |
|
|
52
|
+
| Adyen | Tested | ✅ Sessions v68 | ✅ Payments v68 | HMAC-SHA256 | `AdyenClient` |
|
|
53
|
+
| Checkout.com | Tested | ✅ Payment Links | ✅ Payments API | HMAC-SHA256 | `CheckoutComClient` |
|
|
54
|
+
| Razorpay | Tested | ✅ Payment Links | ✅ Orders API | HMAC-SHA256 | `RazorpayClient` |
|
|
55
|
+
| Square | Tested | ✅ Payment Links | ✅ Payments API | HMAC-SHA256 | `SquareClient` |
|
|
56
|
+
| PayU | Tested | ✅ Orders v2.1 | ✅ Pay Methods | MD5/SHA-256 | `PayuClient` |
|
|
57
|
+
| Braintree | Tested | ✅ Drop-in UI Token | ✅ Transaction API | SHA1 HMAC | `BraintreeClient` |
|
|
58
|
+
| 2Checkout | Tested | ✅ REST v6.0 | ✅ REST v6.0 | IPN MD5 | `TwoCheckoutClient` |
|
|
59
59
|
|
|
60
60
|
### ⚙️ Environment Variables
|
|
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,30 +77,47 @@ BUAYAR_CALLBACK_URL=https://myapp.com/api/payment/webhook
|
|
|
74
77
|
BUAYAR_RETURN_URL=https://myapp.com/payment/finish
|
|
75
78
|
```
|
|
76
79
|
|
|
77
|
-
####
|
|
80
|
+
#### Build-time introspection (portability helpers)
|
|
78
81
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
|
98
|
-
|
|
|
99
|
-
|
|
|
100
|
-
|
|
|
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
|
+
|
|
96
|
+
#### Universal Credential Mapping (`BUAYAR_*`)
|
|
97
|
+
|
|
98
|
+
You don't need provider-specific variable names. Simply use unified **`BUAYAR_*`** variables:
|
|
99
|
+
|
|
100
|
+
| Provider | `BUAYAR_PROVIDER` | `BUAYAR_API_KEY` | `BUAYAR_MERCHANT_CODE` | `BUAYAR_CLIENT_KEY` / Extra |
|
|
101
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
102
|
+
| **Midtrans** | `midtrans` | Server Key | *(optional)* | Client Key |
|
|
103
|
+
| **Duitku** | `duitku` | API Key | Merchant Code | *(not needed)* |
|
|
104
|
+
| **iPaymu** | `ipaymu` | API Key | Virtual Account (VA) | *(not needed)* |
|
|
105
|
+
| **Xendit** | `xendit` | Secret Key | *(optional)* | Webhook Token (`BUAYAR_WEBHOOK_SECRET`) |
|
|
106
|
+
| **DOKU Jokul** | `doku` | Secret Key | Client ID / Merchant ID | Client ID |
|
|
107
|
+
| **PrismaLink** | `prismalink` | Secret Key | Merchant ID | *(not needed)* |
|
|
108
|
+
| **Faspay** | `faspay` | Password | Merchant ID | User ID |
|
|
109
|
+
| **Finpay** | `finpay` | Merchant Key | Merchant ID | *(not needed)* |
|
|
110
|
+
| **Nicepay** | `nicepay` | Server Key | I-MID | *(not needed)* |
|
|
111
|
+
| **OY! Bisnis** | `oy` | API Key | Username | Username |
|
|
112
|
+
| **Stripe** | `stripe` | Secret Key | *(not needed)* | Publishable Key / Webhook Secret |
|
|
113
|
+
| **PayPal** | `paypal` | Client Secret | Client ID | Client ID |
|
|
114
|
+
| **Adyen** | `adyen` | API Key | Merchant Account | Client Key / HMAC Key |
|
|
115
|
+
| **Checkout.com** | `checkoutcom` | Secret Key | *(not needed)* | Public Key / Webhook Secret |
|
|
116
|
+
| **Razorpay** | `razorpay` | Key Secret | Key ID | Key ID |
|
|
117
|
+
| **Square** | `square` | Access Token | App ID | Location ID (`BUAYAR_PROJECT_ID`) |
|
|
118
|
+
| **PayU** | `payu` | MD5 Key | POS ID | POS ID |
|
|
119
|
+
| **Braintree** | `braintree` | Private Key | Merchant ID | Public Key |
|
|
120
|
+
| **2Checkout** | `twocheckout` | Secret Key | Merchant Code | Secret Word (`BUAYAR_WEBHOOK_SECRET`) |
|
|
101
121
|
|
|
102
122
|
### 📖 Usage
|
|
103
123
|
|
|
@@ -174,9 +194,10 @@ app.post("/api/payment/webhook", async (req, res) => {
|
|
|
174
194
|
#### 5. Zero-Code PG Switch
|
|
175
195
|
```env
|
|
176
196
|
# Switch from Midtrans to Stripe — zero code change required
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
197
|
+
BUAYAR_PROVIDER=stripe
|
|
198
|
+
BUAYAR_API_KEY=sk_live_...
|
|
199
|
+
BUAYAR_WEBHOOK_SECRET=whsec_...
|
|
200
|
+
# (or omit BUAYAR_PROVIDER entirely — provider auto-detected from the credentials)
|
|
180
201
|
```
|
|
181
202
|
|
|
182
203
|
---
|
|
@@ -205,7 +226,7 @@ STRIPE_WEBHOOK_SECRET=whsec_...
|
|
|
205
226
|
|
|
206
227
|
* **Midtrans** — Snap API (Redirect/Popup) & Core API Direct Charge. Verifikasi SHA-512. `MidtransClient`.
|
|
207
228
|
* **Duitku** — Redirect Checkout & Direct Inquiry API. Verifikasi MD5. `DuitkuClient` (Disbursement, Inquiry Rekening, Saldo).
|
|
208
|
-
* **iPaymu** — Redirect & Direct Payment API v2. Verifikasi HMAC-SHA256. `IpaymuClient` (Cek Saldo, Cek Transaksi).
|
|
229
|
+
* **iPaymu** `[Tested]` — Redirect & Direct Payment API v2. Verifikasi HMAC-SHA256. `IpaymuClient` (Cek Saldo, Cek Transaksi, Histori, Bank List, Dynamic Methods, COD).
|
|
209
230
|
* **Xendit** — Invoice v2 & Payment Requests v3. Webhook Token. `XenditClient` (Saldo, Expire Invoice, Disbursement).
|
|
210
231
|
* **DOKU Jokul** — Checkout v1 & Direct API v2. HMAC-SHA256 + Digest. `DokuClient`.
|
|
211
232
|
* **PrismaLink** — Checkout Page & Direct API. SHA-256. `PrismalinkClient`.
|
|
@@ -230,12 +251,15 @@ STRIPE_WEBHOOK_SECRET=whsec_...
|
|
|
230
251
|
|
|
231
252
|
#### Universal (Direkomendasikan)
|
|
232
253
|
```env
|
|
233
|
-
# Provider aktif (19 pilihan
|
|
234
|
-
|
|
254
|
+
# (opsional) Provider aktif (19 pilihan). Bila kosong, AUTO-DIDETEKSI
|
|
255
|
+
# dari kredensial yang terisi. Set var ini sama untuk semua provider.
|
|
256
|
+
BUAYAR_PROVIDER=midtrans
|
|
235
257
|
|
|
236
258
|
# Kredensial Universal (dipetakan otomatis per provider)
|
|
237
259
|
BUAYAR_API_KEY=server-key-atau-secret
|
|
238
260
|
BUAYAR_MERCHANT_CODE=merchant-id-atau-username
|
|
261
|
+
BUAYAR_CLIENT_KEY=client-atau-public-key
|
|
262
|
+
BUAYAR_MERCHANT_ID=merchant-id
|
|
239
263
|
BUAYAR_SANDBOX=true
|
|
240
264
|
|
|
241
265
|
# Callback & Return URL
|
|
@@ -243,33 +267,31 @@ BUAYAR_CALLBACK_URL=https://myapp.com/api/payment/webhook
|
|
|
243
267
|
BUAYAR_RETURN_URL=https://myapp.com/payment/finish
|
|
244
268
|
```
|
|
245
269
|
|
|
246
|
-
####
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
| `
|
|
251
|
-
|
|
|
252
|
-
|
|
|
253
|
-
|
|
|
254
|
-
|
|
|
255
|
-
|
|
|
256
|
-
|
|
|
257
|
-
| `
|
|
258
|
-
|
|
|
259
|
-
|
|
|
260
|
-
|
|
|
261
|
-
|
|
|
262
|
-
|
|
|
263
|
-
|
|
|
264
|
-
|
|
|
265
|
-
|
|
|
266
|
-
|
|
|
267
|
-
|
|
|
268
|
-
| `
|
|
269
|
-
|
|
|
270
|
-
|
|
|
271
|
-
| `BRAINTREE_MERCHANT_ID` / `BRAINTREE_PUBLIC_KEY` / `BRAINTREE_PRIVATE_KEY` | Braintree | Merchant ID, Public Key & Private Key |
|
|
272
|
-
| `TWOCHECKOUT_MERCHANT_CODE` / `TWOCHECKOUT_SECRET_KEY` / `TWOCHECKOUT_SECRET_WORD` | 2Checkout | Merchant Code, Secret Key & Secret Word (IPN) |
|
|
270
|
+
#### Pemetaan Kredensial ke Variabel Universal `BUAYAR_*`
|
|
271
|
+
|
|
272
|
+
Anda **tidak perlu** membuat nama variabel khusus per provider. Cukup gunakan set variabel seragam **`BUAYAR_*`**. Tabel berikut menunjukkan data apa dari dashboard masing-masing payment gateway yang perlu Anda masukkan ke variabel `BUAYAR_*`:
|
|
273
|
+
|
|
274
|
+
| Provider | `BUAYAR_PROVIDER` | `BUAYAR_API_KEY` | `BUAYAR_MERCHANT_CODE` | `BUAYAR_CLIENT_KEY` / Tambahan |
|
|
275
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
276
|
+
| **Midtrans** | `midtrans` | Server Key | *(opsional)* | Client Key |
|
|
277
|
+
| **Duitku** | `duitku` | API Key | Merchant Code | *(tidak perlu)* |
|
|
278
|
+
| **iPaymu** | `ipaymu` | API Key | Nomor Virtual Account (VA) | *(tidak perlu)* |
|
|
279
|
+
| **Xendit** | `xendit` | Secret Key | *(opsional)* | Webhook Token (`BUAYAR_WEBHOOK_SECRET`) |
|
|
280
|
+
| **DOKU Jokul** | `doku` | Secret Key | Client ID / Merchant ID | Client ID |
|
|
281
|
+
| **PrismaLink** | `prismalink` | Secret Key | Merchant ID | *(tidak perlu)* |
|
|
282
|
+
| **Faspay** | `faspay` | Password | Merchant ID | User ID |
|
|
283
|
+
| **Finpay** | `finpay` | Merchant Key | Merchant ID | *(tidak perlu)* |
|
|
284
|
+
| **Nicepay** | `nicepay` | Server Key | I-MID | *(tidak perlu)* |
|
|
285
|
+
| **OY! Bisnis** | `oy` | API Key | Username | Username |
|
|
286
|
+
| **Stripe** | `stripe` | Secret Key | *(tidak perlu)* | Publishable Key / Webhook Secret |
|
|
287
|
+
| **PayPal** | `paypal` | Client Secret | Client ID | Client ID |
|
|
288
|
+
| **Adyen** | `adyen` | API Key | Merchant Account | Client Key / HMAC Key |
|
|
289
|
+
| **Checkout.com** | `checkoutcom` | Secret Key | *(tidak perlu)* | Public Key / Webhook Secret |
|
|
290
|
+
| **Razorpay** | `razorpay` | Key Secret | Key ID | Key ID |
|
|
291
|
+
| **Square** | `square` | Access Token | App ID | Location ID (`BUAYAR_PROJECT_ID`) |
|
|
292
|
+
| **PayU** | `payu` | MD5 Key | POS ID | POS ID |
|
|
293
|
+
| **Braintree** | `braintree` | Private Key | Merchant ID | Public Key |
|
|
294
|
+
| **2Checkout** | `twocheckout` | Secret Key | Merchant Code | Secret Word (`BUAYAR_WEBHOOK_SECRET`) |
|
|
273
295
|
|
|
274
296
|
### 📖 Panduan Penggunaan
|
|
275
297
|
|
|
@@ -336,9 +358,10 @@ app.post("/api/payment/webhook", async (req, res) => {
|
|
|
336
358
|
#### 5. Zero-Code PG Switch
|
|
337
359
|
```env
|
|
338
360
|
# Ganti dari Midtrans ke Stripe — tanpa ubah satu baris kode pun
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
361
|
+
BUAYAR_PROVIDER=stripe
|
|
362
|
+
BUAYAR_API_KEY=sk_live_...
|
|
363
|
+
BUAYAR_WEBHOOK_SECRET=whsec_...
|
|
364
|
+
# (atau hapus BUAYAR_PROVIDER — provider auto-dideteksi dari kredensial)
|
|
342
365
|
```
|
|
343
366
|
|
|
344
367
|
### 🏷️ 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.8.0";
|
|
478
488
|
function parseArgs(argv) {
|
|
479
489
|
const flags = [];
|
|
480
490
|
const rest = [];
|