Skip to content

    Recurring order without initial payment

    Overview

    When a customer provides authorization to perform a series of payments with their bank details.

    Recurring payments are handled with the use of the directDebitType of the mandate object which points to the type of usage for the particular order. Mark the orders as FIRST, RECURRING, and FINAL.

    • Collect payment data and place the order in your shop
    • Perform the backend-to-backend payment instrument request POST /payment-instruments with the directDebitType set to FIRST. This request should result in a recurring payment instrument.
    • Use the already created payment instrument for executing orders, providing only the directDebitType that stands for the current usage of the mandate (FIRST/RECURRING/FINAL).

    Step 1: Create Payment Instrument via Widget

    Create Payment Instrument via Widget as a Bridge

    MandateId Management:

    requestMandate:true: The Payengine generates and displays automatically the mandateId in the Widget requestMandate:false (default): The integrator generates the mandateId following the + pattern, for example, Example: 1234567+1, and the rules below:

    • mandateId must be unique for single payments.
    • Recurring payments use the same unique mandateId.
    • The mandateId must be a string of length in the range from 1 to 35, containing only alphanumerics.
    • The generated mandateId must be displayed in the mandate text where the customer should agree to.

    Create Payment Instrument via API

    MandateId Management: The integrator generates the mandateId following the + pattern, for example, 1234567+1, and the rules below:

    • mandateId must be unique for single payments.
    • Recurring payments use the same unique mandateId
    • The mandateId must be a string of length in the range from 1 to 35, containing only alphanumerics.
    • The generated mandateId must be displayed in the mandate text where the customer should agree to.

    Create payment instrument recurring request

    {
    		"type": "sepa",
    		"merchantPaymentInstrumentId": "1562850642",
    		"payment": {

    Create payment instrument recurring response

    {
    		"createdAt": 1562851103400,
    		"modifiedAt": 1562851103400,
    		"paymentInstrumentId": "paymentinstrument_2bil6peicb",

    Step 2A: Create debit with directDebitType="FIRST" as first transaction from multiple transactions with the same payment instrument

    Following transactions except the last one need directDebitType = "RECURRING".

    The final transaction needs the directDebitType = "FINAL"

    Step 2B: Create preauth + capture with directDebitType="FIRST" as first transaction from multiple transactions with the same payment instrument

    Following transactions except the last one need directDebitType = "RECURRING".

    The final transaction needs the directDebitType = "FINAL"

    Reuse of payment instrument recurring request

    {
    		"type": "sepa",
    		"merchantPaymentInstrumentId": "1562850642",
    		"payment": {

    Reuse of payment instrument recurring response

    {
    		"createdAt": 1562851103400,
    		"modifiedAt": 1562851103400,
    		"paymentInstrumentId": "paymentinstrument_2bil6peicb",

    Step 3: Prenotification

    Prenotification ("Pre-Notification") is any notification, (for example - an invoice, policy, a contract) of the direct debit recipient to the payer, which announces a debit via SEPA direct debit. The preliminary information must contain the due date and the exact amount and can announce several direct debits. It must be sent to the payer within due time (at least 14 calendar days before the due date, unless a different period has been agreed with the payer) before the due date, so that the payer can adjust to the account balance and provide adequate cover. The manner in which the preliminary information can be given results from the regulations of the respective debt collection agreement between the payer and the payment service provider.

    NOTE Payengine is sending out the prenotifictaion email to the customer.

    SEPA prenotification template

    "Dies ist eine automatisch generierte E-Mail. Neue SEPA-Lastschriftvorankündigung 
    
    	Sehr geehrte Kundin, 
    	sehr geehrter Kunde,

    Step 4: Reconciliation

    For SEPA Direct Debit payments, the funds are not immediately available. A charge, created from a SEPA direct debit source, may remain in an intermediate state for several days from the time of its creation. Once the charge is confirmed, the status of the debit or capture is updated to success.

    • When does the merchant get a SEPA direct debit fund?
      • Default approximately 9 days (depending on the contract may vary) after the SEPA Direct debit is triggered
    • How to reconcile a payment?
      • Use PayEngine SEPA Direct Debit settlement file
      • There is one record per transaction in the settlement file.
      • Every record reference to the collective bank transfer (e.g the merchant had 10 transactions on a specific day and all have the same reference).

    There is one collective record per day, which covers the whole payout amount.

    The following events are sent when the charge status is changed:

    EventDescription
    debit.successThe charge succeeded and the payment is complete.
    preauth.successThe payment is requested. A capture triggers the debit from the customer account
    capture.successThe charge succeeded and the payment is complete.
    chargeback.bookedThe charge has failed or the customer canceled the SEPA Direct Debit
    • What is the bank transfer purpose text on the merchant bank statement?
      • The money will be transferred to the merchant bank account in a collective transfer and the follow purpose text will appear at the bank statement: - dd.MM.yyyy (from date) - dd.MM.yyyy (until date)
    • What is the bank transfer purpose text on the customer bank statement?
      • The field order.statementDescription will be used as purpose text.
    • When no order.statementDescription is present the following logic will be applied:
    1. order.merchantOrderId is used when it's present
    2. order.orderId is used when order.merchantOrderId is not present

    For both cases fields merchant.companyName and merchant.shopUrl will be added after either order.merchantOrderId or order.orderId separated with space. The max length of the purpose text is 108 characters and it will be cut off if it is longer.

    Payment Disruptions

    Debit not Possible: The status of the order will change debit.success/capture.success to chargeback.booked.

    Тhis situation may occur due to various problems with the client's account (for example, if no funds are available, the account has been blocked, etc.). If this situation occurs, the bank refunds the payment in the form of a dispute.

    Customer Cancels SEPA Direct Debit: The status of the order will be changed from debit.success/capture.success to chargeback.booked. Within eight weeks of debiting the account, if the account holder is not satisfied with his purchase, the bank can refund the money, without asking questions. Between eight weeks and thirteen months after the payment has been created, the customer may dispute a payment with their bank only if the customer considers that the debit has not been authorized.

    Step 5 (Оptional): REFUND

    To use the refund service of Payengine, configure your bank account connection at the Concardis Merchant Center.

    Was this helpful?

    What was your feeling about it?