diff --git a/juspay-payments.json b/juspay-payments.json index 3338b89..b5f7b76 100644 --- a/juspay-payments.json +++ b/juspay-payments.json @@ -333,7 +333,7 @@ "source_object_id": { "type": "string", "nullable": true }, "amount_info": { "type": "string", "nullable": true }, "offer_details": { "type": "string", "nullable": true }, - "payment_filter": { "type": "string", "nullable": true }, + "payment_filter": { "type": "object", "nullable": true }, "options_get_payment_collection_link": { "type": "string", "nullable": true }, "payment_collection_link_details": { "type": "string", "nullable": true }, "virtual_account_references": { "type": "string", "nullable": true }, diff --git a/src/modules/api-utils.ts b/src/modules/api-utils.ts index 4979653..8217bc0 100644 --- a/src/modules/api-utils.ts +++ b/src/modules/api-utils.ts @@ -28,6 +28,10 @@ const PaymentCreateRequestSchema = z.object({ returnUrl: z.string().nullable().optional(), manualRetryAllowed: z.boolean().nullable().optional(), gatewayReferenceId: z.string().nullable().optional(), + allowedPaymentMethods: z + .union([z.record(z.any()).nullable(), z.array(z.string()).nullable()]) + .nullable() + .optional(), }); // Type definition for PaymentCreateRequest diff --git a/src/modules/webhooks/hyperswitch/transaction-initialize-session.ts b/src/modules/webhooks/hyperswitch/transaction-initialize-session.ts index cc2313d..5d65333 100644 --- a/src/modules/webhooks/hyperswitch/transaction-initialize-session.ts +++ b/src/modules/webhooks/hyperswitch/transaction-initialize-session.ts @@ -123,6 +123,7 @@ export const TransactionInitializeSessionHyperswitchWebhookHandler = async ( description: normalizeValue(requestData?.description), billing: buildAddressDetails(event.sourceObject.billingAddress, userEmail), shipping: buildAddressDetails(event.sourceObject.shippingAddress, requestData?.shippingEmail), + allowed_payment_method_types: normalizeValue(requestData?.allowedPaymentMethods), metadata: { transaction_id: event.transaction.id, saleor_api_url: saleorApiUrl, diff --git a/src/modules/webhooks/juspay/transaction-initialize-session.ts b/src/modules/webhooks/juspay/transaction-initialize-session.ts index bd1fd5c..d60b401 100644 --- a/src/modules/webhooks/juspay/transaction-initialize-session.ts +++ b/src/modules/webhooks/juspay/transaction-initialize-session.ts @@ -145,6 +145,7 @@ export const TransactionInitializeSessionJuspayWebhookHandler = async ( shipping_address_postal_code: normalizeValue(shippingAddress?.address?.zip), "metadata.JUSPAY:gateway_reference_id": requestData?.gatewayReferenceId, "metadata.txns.auto_capture": normalizeValue(captureMethod), + payment_filter: normalizeValue(requestData?.allowedPaymentMethods), }; const createOrderResponse = await createJuspayPayment(createOrderPayload);