# Recurring and Unscheduled Payments ## Overview **Recurring Payments** allow you to charge a customer on a regular basis without requiring them to be present for each payment. This is particularly useful for subscription services or any scenario where you need to bill customers periodically. **Unscheduled Payments** allow you to charge customers on an ad-hoc basis without the need for the customer to be present. This is ideal for businesses that need to process payments at irregular intervals or for one-off purchases. Both Recurring and Unscheduled Payments require an initial payment to be processed with the customer present (CIT). This initial payment captures and securely stores the customer's payment details for future use. Subsequent payments can then be processed without the customer being present (MIT). Processing Recurring and Unscheduled Payments using the embedded SDK involves a similar approach as described in this page. ## Requirements Before you can process a Recurring or Unscheduled Payment, you must first set up an initial Payment Session with the customer present (CIT). This initial payment captures and securely stores the customer's payment details for future use. Subsequent payments can then be processed without the customer being present (MIT). To set up such a Payment, you will need to follow the steps outlined in the [Initiate Recurring Payments](/documentation/get_started/initiate_payments/recurring) page or the [Initiate Unscheduled Payments](/documentation/get_started/initiate_payments/unscheduled) page, depending on your use case. Once the Payment Session is created, you will have access to the `clientSecret` value, which is required to process the initial payment. ## Configuring the Embedded SDK To process a Recurring or Unscheduled payment using the embedded SDK, you need to initialize the SDK with the appropriate configuration options. These include: - The `clientSecret` obtained from the initial Payment Session - Setting the `paymentType` option to `Recurring` or `Unscheduled`, depending on your use case - The `accountId` option if you are processing the payment on behalf of a Sub-Account Below is an example of how to configure the embedded SDK for processing Recurring or Unscheduled payments: Recurring Payment ```javascript Process Recurring Payment Example Ryft.init({ publicKey, clientSecret, // accountId, // Uncomment if processing on behalf of a Sub-Account paymentType: 'Recurring', }); ``` Unscheduled Payment ```javascript Process Unscheduled Payment Example Ryft.init({ publicKey, clientSecret, // accountId, // Uncomment if processing on behalf of a Sub-Account paymentType: 'Unscheduled', }); ``` Provided that the embedded SDK is correctly configured, the embedded payment form will be rendered, allowing the customer to complete the initial payment.