@kuvarpay/sdk 1.9.1 → 1.9.3

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/index.d.ts CHANGED
@@ -110,7 +110,9 @@ export interface PreparedKuvarSendAccountLink {
110
110
  idempotencyKey: string;
111
111
  }
112
112
 
113
- export interface KuvarSendAccountLinkAuthorization extends PreparedKuvarSendAccountLink {
113
+ /** Keep state, codeVerifier and redirectUri in your server-side session for the callback. */
114
+ export interface KuvarSendAccountLinkAuthorization
115
+ extends Omit<PreparedKuvarSendAccountLink, 'externalUserReference' | 'codeChallenge'> {
114
116
  requestId: string;
115
117
  authorizationUrl: string;
116
118
  expiresAt: string;
@@ -147,7 +149,8 @@ export interface KuvarSendPayout {
147
149
  linked_account_id: string;
148
150
  amount: string;
149
151
  currency: string;
150
- external_reference?: string;
152
+ /** Your own reference, or null when you did not send one. */
153
+ external_reference: string | null;
151
154
  /** Your balance's currency and what it was debited. Create response only. */
152
155
  source_currency?: string;
153
156
  source_amount?: string;
package/index.js CHANGED
@@ -144,12 +144,14 @@ class KuvarPayServer {
144
144
  try { json = text ? JSON.parse(text) : null; } catch (e) { json = null; }
145
145
  if (!res.ok) {
146
146
  // The gateway returns errors as either { error: 'msg' }, { message: 'msg' },
147
- // or { error: { code, message, status } }. Flatten to a readable string so
148
- // err.message is never '[object Object]'. Full payload stays on err.body.
147
+ // { error: { code, message, status } }, or Fastify's { error: 'Bad Request',
148
+ // message: 'real reason' }. Flatten to a readable string so err.message is
149
+ // never '[object Object]' or a bare HTTP reason phrase. Full payload stays on err.body.
149
150
  const errField = json && json.error;
150
151
  const msg =
151
- (errField && typeof errField === 'object' ? (errField.message || errField.code) : errField) ||
152
+ (errField && typeof errField === 'object' ? (errField.message || errField.code) : null) ||
152
153
  (json && json.message) ||
154
+ (typeof errField === 'string' && errField) ||
153
155
  `HTTP ${res.status}`;
154
156
  const err = new Error(msg);
155
157
  err.status = res.status;
package/index.mjs CHANGED
@@ -141,12 +141,14 @@ export class KuvarPayServer {
141
141
  try { json = text ? JSON.parse(text) : null; } catch (e) { json = null; }
142
142
  if (!res.ok) {
143
143
  // The gateway returns errors as either { error: 'msg' }, { message: 'msg' },
144
- // or { error: { code, message, status } }. Flatten to a readable string so
145
- // err.message is never '[object Object]'. Full payload stays on err.body.
144
+ // { error: { code, message, status } }, or Fastify's { error: 'Bad Request',
145
+ // message: 'real reason' }. Flatten to a readable string so err.message is
146
+ // never '[object Object]' or a bare HTTP reason phrase. Full payload stays on err.body.
146
147
  const errField = json && json.error;
147
148
  const msg =
148
- (errField && typeof errField === 'object' ? (errField.message || errField.code) : errField) ||
149
+ (errField && typeof errField === 'object' ? (errField.message || errField.code) : null) ||
149
150
  (json && json.message) ||
151
+ (typeof errField === 'string' && errField) ||
150
152
  `HTTP ${res.status}`;
151
153
  const err = new Error(msg);
152
154
  err.status = res.status;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kuvarpay/sdk",
3
- "version": "1.9.1",
3
+ "version": "1.9.3",
4
4
  "description": "Official KuvarPay Server SDK for Node.js",
5
5
  "main": "index.js",
6
6
  "module": "index.mjs",