Client component for submitting payment forms to Redsys gateway.
The Redirect Form component is part of the Redsys integration package. It's a client component that handles the submission of payment forms to the Redsys payment gateway.
import { RedirectForm } from "@/registry/redsys/components/checkout/redirect-form";
import type { RedirectFormData } from "@/registry/redsys/components/checkout/redirect-form";"use client";
import { useState } from "react";
import { RedirectForm } from "@/registry/redsys/components/checkout/redirect-form";
import type { RedirectFormData } from "@/registry/redsys/components/checkout/redirect-form";
import { createPaymentFormAction } from "@/registry/redsys/actions/checkout/create-payment-form";
export default function PaymentPage() {
const [formData, setFormData] = useState<RedirectFormData | null>(null);
const handleCreateForm = async () => {
const { formData: newFormData } = await createPaymentFormAction({
amount: 50.0,
currency: "EUR",
});
setFormData(newFormData);
};
return (
<div>
<button onClick={handleCreateForm}>Create Payment Form</button>
{formData && <RedirectForm formData={formData} buttonText="Pay Now" />}
</div>
);
}The component accepts all standard HTML form props in addition to the following:
interface RedirectFormData {
url: string;
body: {
Ds_SignatureVersion: string;
Ds_MerchantParameters: string;
Ds_Signature: string;
};
}<RedirectForm
formData={formData}
buttonText="Pay 50.00 EUR"
buttonProps={{
variant: "default",
size: "lg",
className: "w-full",
}}
/><RedirectForm
formData={formData}
loadingText="Redirecting to payment gateway..."
onSubmit={(e) => {
console.log("Form submitted");
}}
/>The RedirectForm component creates a POST form that submits to the Redsys payment gateway. It includes:
Ds_SignatureVersion, Ds_MerchantParameters, and Ds_Signature required by RedsysWhen the form is submitted, the user is redirected to the Redsys payment gateway to complete the transaction.
The RedirectForm component is typically used with server actions that generate the form data:
createPaymentFormAction - Standard payment redirect formcreateDccPaymentFormAction - DCC (Dynamic Currency Conversion) payment formcreateTokenPaymentFormAction - Payment using stored token (MIT)createTokenizationFormAction - Tokenization form for saving cardscreateAuthenticationFormAction - 3DS authentication formcreatePreauthorizationFormAction - Preauthorization form