diff --git a/packages/payment-providers/src/providers/telebirr/telebirr.crypto.ts b/packages/payment-providers/src/providers/telebirr/telebirr.crypto.ts index 12ea9624a..d8c2e6763 100644 --- a/packages/payment-providers/src/providers/telebirr/telebirr.crypto.ts +++ b/packages/payment-providers/src/providers/telebirr/telebirr.crypto.ts @@ -17,6 +17,7 @@ export function buildCanonicalString(requestObject: Record): st for (const key of Object.keys(requestObject)) { if (EXCLUDE_FIELDS.has(key)) continue; + if (requestObject[key] === undefined) continue; fieldMap[key] = requestObject[key]; } @@ -24,7 +25,9 @@ export function buildCanonicalString(requestObject: Record): st if (biz && typeof biz === 'object') { for (const key of Object.keys(biz as Record)) { if (EXCLUDE_FIELDS.has(key)) continue; - fieldMap[key] = (biz as Record)[key]; + const value = (biz as Record)[key]; + if (value === undefined) continue; + fieldMap[key] = value; } } diff --git a/packages/payment-providers/src/providers/telebirr/telebirr.provider.ts b/packages/payment-providers/src/providers/telebirr/telebirr.provider.ts index 39a0e8e90..ecb75c3e8 100644 --- a/packages/payment-providers/src/providers/telebirr/telebirr.provider.ts +++ b/packages/payment-providers/src/providers/telebirr/telebirr.provider.ts @@ -211,7 +211,7 @@ export class TelebirrProvider implements PaymentProvider { total_amount: totalAmount, trans_currency: input.currency, timeout_express: this.timeoutExpress, - redirect_url: input.redirectUrl, + ...(input.redirectUrl ? { redirect_url: input.redirectUrl } : {}), }, }; const sign = signRequestObject(