Direct Support Site

Results for

icon-search-large No search results yet
Enter your search query above

1. Introduction

Following the introduction of the PSD2 guideline, 3-D Secure is mandatory for online transactions. Nevertheless, SCA exclusions/exemptions allow you to skip SCA altogether for some transactions. However, there is always a chance that your customers’ bank insists on 3-D Secure, resulting in a declined transaction.

Our Soft Decline mechanism is a great way to recover these declined transactions. It allows you to resend the transaction once more to our platform after a first rejection due to missing 3-D Secure. Sending the authentication data in the second request will raise the chance that your transaction is accepted after all.

Soft Decline is available for payment methods Visa, MasterCard and American Express.

2. Implement Soft Decline

A typical flow of a Soft Decline transactions goes like this:

  1. For requests via Hosted Checkout Page, send CardPaymentMethodSpecificInput.ThreeDSecure.SkipAuthentication=true and cardPaymentMethodSpecificInput.threeDSecure.exemption with the appropriate value in a standard request, but no further authentication parameters

    For requests via Server-to-server, send CardPaymentMethodSpecificInput.ThreeDSecure.SkipAuthentication=true together with the mandatory parameters for 3DSv2
    This way you indicate that you wish to skip 3-D Secure with the appropriate cardPaymentMethodSpecificInput.threeDSecure.exemptionRequest in a PSD2 compliant way. Two scenarios are possible:
    a) The issuer accepts the transactions without 3-D Secure. We submit the actual financial transaction to the acquirer to process it. We receive the transaction result, ending the flow
    b) The issuer insists on 3-D Secure. The flow continues at 2) 

  2. In our response, the property CreatedPaymentOutput.StatusCode=2 indicates that issuer declined the transaction, insisting on 3-D Secure. The transaction’s error code is errors.errorCode=40001139
  3. Our platform automatically resubmits the transaction, this time rolling out 3-D Secure v2
  4. Your customer will have to pass the 3-D Secure authentication during this second request. Finally, the transaction will reach either CreatedPaymentOutput.StatusCode=2 or CreatedPaymentOutput.StatusCode=9. This depends on whether your customer passed the authentication and both your acquirer/your customers' issuer accept the transaction
We have added this feature automatically to your integration. If you wish not to allow our platform to retry the transaction on your behalf, send CardPaymentMethodSpecificInput.ThreeDSecure.SkipSoftdecline=true in your first request.

3. Perform tests

Use the following test data to simulate a full Soft Decline cycle. Add them to a standard CreateHostedCheckout/CreatePayment request during the first step.

  • Make sure to send order.amountOfMoney.amount always with fixed value 1604 as described in the code sample. This fixed amount ensures that our platform rolls out the Soft Decline feature. 
  • Make sure to use 3-D Secure V2 test cards only when performing tests. This will ensure our simulator produces the desired results
{ 
  "cardPaymentMethodSpecificInput": { 
    "card": { 
      "cvv": "451", 
      "cardNumber": "4874970686672022", 
      "expiryDate": "1220", 
      "cardholderName": "Wile E. Coyote" 
    }, 
    "isRecurring": false, 
    "paymentProductId": 1, 
    "transactionChannel": "ECOMMERCE", 
    "threeDSecure": { 
		"skipAuthentication": true, 
		"skipSoftDecline": false 
    }, 
  }, 
  "order": { 
    "amountOfMoney": { 
      "currencyCode": "EUR", 
      "amount": 1604 
    }, 
    "customer": { 
      "billingAddress": { 
        "countryCode": "NL" 
      } 
    }, 
    "references": { 
      "merchantOrderId": 123456, 
      "merchantReference": "oGPc8xJURfpFitBa6ORrpkBuPoGpvD" 
    } 
  } 
}