Recurring payments

Learn about emerchantpay’s recurring payment solutions.

Managing recurring payments is essential for businesses offering subscription-based services. This guide will help you perform initial and subsequent payments and efficiently handle recurring transactions using emerchantpay’s platform.


Managing recurring payments

emerchantpay offers a versatile and efficient recurring payment system to meet your needs. There are two options for handling recurring payments. You can choose to self-manage the process by designating the initial payment and handling subsequent payments yourself. This can be done through transaction types such as Sale, Sale 3D, Authorise, or Authorise 3D.

Alternatively, you can opt for the managed service provided by emerchantpay. When you provide the subscription details during the initial payment, emerchantpay will schedule and perform the recurring payments on your behalf.

In both cases, emerchantpay automatically retrieves customer and card details from the initial payment, simplifying the process for you.

The table below provides an overview of the different transaction types within the context of recurring payments.

Recurring payment system Description
Initial payment Initiate the recurring payment series with an initial payment. This can be an authorisation (auth), a sale, or a zero-amount transaction. The initial payment for recurring transactions can be categorized as either 3DS (3D Secure) or non-3DS. It is mandatory for the initial payment to be 3DS within the European Economic Area (EEA), while it is recommended in countries such as the USA, Canada, Australia, New Zealand, and Japan.
Subsequent payments After the initial payment is successfully processed, subsequent payments can be authorised (auth) or directly processed as sales.
Recurring payments with tokens (Non-3D) Tokens securely store payment information, allowing seamless transactions without the need for 3D Secure authentication. If the customer has already saved their card as a token from previous purchases, you can initiate the recurring series using that token without requiring the customer to input their card details again. This avoids the need for the user to repeatedly enter their card information. Whether the first payment is initiated with a token or the user entered their card details, subsequent payments can be processed by referencing the original transaction. emerchantpay’s system automatically retrieves the correct card details.
Managed recurring payments With the managed recurring feature, you can specify the recurring plan during the initial payment, and emerchantpay takes care of processing subsequent payments on your behalf.


Perform an initial payment

To initiate a series of recurring payments, follow these steps:

  1. Collect customer information
  2. Gather the necessary customer details, such as billing information, payment method, and subscription preferences.

  3. Select the payment type
  4. Choose the appropriate payment type based on your requirements: authorisation (auth), sale, or zero-amount transaction. Each type serves a specific purpose, depending on your business model.

  5. Submit the payment request
  6. Send the payment request to emerchantpay’s system, ensuring that the necessary parameters, such as amounts, currencies, and payment method details, are accurately included.

    Example of an initial payment request:

    <payment_transaction>
      <transaction_type>sale</transaction_type>
      <recurring_type>initial</recurring_type>
      <transaction_id>119643250547501c79d8295</transaction_id>
      <usage>test</usage>
      <remote_ip>245.253.2.12</remote_ip>
      <amount>1000</amount>
     <currency>USD</currency>
      <card_holder>Travis Pastrana</card_holder>
      <card_number>4200000000000000</card_number>
      <expiration_month>12</expiration_month>
      <expiration_year>2024</expiration_year>
      <cvv>834</cvv>
      <customer_email>travis@example.com</customer_email>
      <customer_phone>+1987987987987</customer_phone>
      <billing_address>
        <first_name>Travis</first_name>
        <last_name>Pastrana</last_name>
        <address1>Muster Str. 12</address1>
        <zip_code>10178</zip_code>
        <city>Los Angeles</city>
        <state>CA</state>
        <country>US</country>
      </billing_address>
    </payment_transaction>
    

    Example of an initial payment response:

    <payment_response>
      <transaction_type>sale</transaction_type>
      <status>approved</status>
      <recurring_type>initial</recurring_type>
      <unique_id>52ed382a6496d4d018a7244254b03a0c</unique_id>
      <transaction_id>119643250547501c79d8295/transaction_id>
      <technical_message>TESTMODE: No real money will be transferred!</technical_message>
      <message>TESTMODE: No real money will be transferred!</message>
      <mode>test</mode>
      <timestamp>2023-06-20T12:54:03Z</timestamp>
      <descriptor>Descriptor one</descriptor>
      <amount>1000</amount>
      <currency>USD</currency>
    </payment_response>
    


Perform subsequent recurring payments

After you have successfully initiated the recurring payment series, you can process subsequent payments. To process a subsequent recurring payment, submit a request referencing the initial transaction and specifying the amount.

Example of a subsequent payment request:

<payment_transaction>
  <transaction_type>authorize</transaction_type>
  <recurring_type>subsequent</recurring_type>
  <usage>test</usage>
  <reference_id>52ed382a6496d4d018a7244254b03a0c</reference_id>
  <transaction_id>119643250547501c79d8296</transaction_id>
  <amount>2500</amount>
  <currency>USD</currency>
</payment_transaction>

Example of a subsequent payment response:

<payment_response>
  <transaction_type>authorize</transaction_type>
  <status>approved</status>
  <recurring_type>subsequent</recurring_type>
  <unique_id>a1bffc1bc9c75d3a81d62320adcf4217</unique_id>
  <transaction_id>119643250547501c79d8296</transaction_id>
  <technical_message>TESTMODE: No real money will be transferred!</technical_message>
  <message>TESTMODE: No real money will be transferred!</message>
  <mode>test</mode>
  <timestamp>2023-06-20T12:56:54Z</timestamp>
  <descriptor>Descriptor one</descriptor>
  <amount>2500</amount>
  <currency>USD</currency>
</payment_response>


emerchantpay managed subscription payments

When emerchantpay manages the subscription payments, it means that emerchantpay takes care of the entire process on your behalf. Instead of you manually initiating subsequent payments, emerchantpay automatically processes them according to the predefined recurring plan you have set up.

    To implement emerchantpay-managed recurring transactions, follow these steps:

  1. Specify the recurring plan

    During the initial payment setup, you must define the recurring plan, including the payment frequency, intervals, and duration.

  2. Automate your subsequent payments

    After the recurring plan is established, emerchantpay starts automatically processing subsequent payments based on the defined schedule. You have the flexibility to choose how you want to stay updated on the status of subsequent payments initiated by emerchantpay. You can opt to receive notifications or track the progress of these payments directly through the emerchantpay user interface (UI), ensuring you are informed about the status and progress of your recurring transactions.

Example of a request for an emerchantpay-managed subscription payment:

<payment_transaction>
  <transaction_type>authorize</transaction_type>
  <recurring_type>managed</recurring_type>
  <transaction_id> 119643250547501c79d8295</transaction_id>
  <usage>40208 concert tickets</usage>
  <remote_ip>245.253.2.12</remote_ip>
  <amount>1000</amount>
  <currency>EUR</currency>
  <card_holder>Travis Pastrana</card_holder>
  <card_number>543802…0009</card_number>
  <cvv>834</cvv>
  <expiration_month>12</expiration_month>
  <expiration_year>2025</expiration_year>
  <customer_email>travis@example.com</customer_email>
  <customer_phone>+1987987987987</customer_phone>
  <managed_recurring>
    <mode>automatic</mode>
    <interval>days</interval>
    <first_date>2023-04-20</first_date>
    <time_of_day>5</time_of_day>
    <period>22</period>
    <amount>500</amount>
    <max_count>10</max_count>
  </managed_recurring>
</payment_transaction>

Example of a response for an emerchantpay-managed subscription payment:

<payment_response>
  <transaction_type>authorize</transaction_type>
  <status>approved</status>
  <recurring_type>managed</recurring_type>
  <cvv_result_code> </cvv_result_code>
  <authorization_code>190418</authorization_code>
  <retrieval_reference_number>310914000017</retrieval_reference_number>
  <scheme_response_code>00</scheme_response_code>
  <unique_id>16b1f785582c3f361e383c98c6a7a811</unique_id>
  <transaction_id>119643250547501c79d8295</transaction_id>
  <response_code>00</response_code>
  <technical_message>TESTMODE: No real money will be transferred!</technical_message>
  <message>TESTMODE: No real money will be transferred!</message>
  <mode>test</mode>
  <timestamp>2023-04-19T14:11:08Z</timestamp>
  <descriptor>test.com</descriptor>
  <amount>1000</amount>
  <currency>EUR</currency>
  <scheme_transaction_identifier>MCC248739</scheme_transaction_identifier>
  <scheme_settlement_date>0419</scheme_settlement_date>
  <managed_recurring>
    <unique_id>b016394636c370d0e06a57a79d07e11f</unique_id>
  </managed_recurring>
</payment_response>


Frequently Asked Questions

In WPF, you can identify a transaction as a recurring type using either the sale(3d) or authorize(3d) transaction types with recurring_type = initial.

In most cases, you submit subsequent recurring transactions and receive immediate results. However, if you are using managed recurring payments, you can utilise server-to-server notifications to get transaction status updates.

Due to scheme rules, updating card details for an existing recurring transaction is not allowed. emerchantpay recommends that you restart the recurring transactions.

To cancel a recurring transaction, you must stop sending subsequent requests. In the case of the managed recurring module, you can do a manual cancellation through the gateway.