alt
Unzer
UnzerAI

UnzerAI

The responses generated by AI may include errors.

UnzerAI

Welcome to UnzerAI!

I'm here to help you with questions about Unzer's payment integration, APIs, and documentation.

Ask questions about Unzer and get help with your integration.

Readiness check

  1. 1 Your integration
  2. 2 Details
  3. 3 What to do
  4. 4 Test and go live

How is your shop integrated with Unzer?

What you need to change depends on how your shop connects to Unzer, not on which Pay Later method your customers use.
Select one answer
Not sure which integration you have?

Check with your development team, or look at how your checkout redirects for card payments today. 3-D Secure works the same way.

If you still cannot tell, contact support@unzer.com.

Which plugin are you using?

Supported plugins handle the redirect and the status check for you. You only need to be on a version that has it built in.
Select one answer
Where do I find my plugin version?
Log in to your shop, open the Unzer plugin settings, and check the installed version.

Which version of the Unzer Shopware 6 plugin are you running?

Select one answer

Which version of the Unzer Magento 2 plugin are you running?

Select one answer

Which version of the Unzer JTL 5 plugin are you running?

Select one answer

Which Payment Page version are you using?

Select one answer

No action needed

Nothing to do, you are CCD2 ready

The hosted Payment Page already handles the redirect and the status check. When Unzer’s risk engine asks for an extra verification step, your checkout shows it automatically.

No action needed

Nothing to do, you are CCD2 ready

UnzerOne Instore has the additional verification step built in.

No action needed

Nothing to do, you are CCD2 ready

Your plugin version already handles the redirect and the status check. Stay on this version or newer and your checkout will show the extra verification step whenever the risk engine asks for one.

Action needed

Update your plugin

Your current version does not support the new authentication flow. Move to a supported version below, then test the flow.

PluginSupported versionsNot supported
ShopifyAll versions-
Shopware 67.0.0 to 7.1.97.1.10, 7.1.11 and older pre-7.x lines
Magento 24.0.0 and above3.2.x and earlier
Oxid 6All versions-
Oxid 7All versions-
PlentymarketsAll versions-
PrestaShopAll versions-
Payment Pages (UPP)All versionsLegacy Payment Page v1
JTL 52.0.4 and aboveAll versions before 2.0.4
WooCommerceNone currently whitelistedAll versions, including 2.1.4

Find the install and upgrade steps for your system in the plugin documentation.

Action needed

No supported plugin for your shop system yet

Shopware 5, Drupal, Ecwid, Gambio, Modified eCommerce, nopCommerce, Opencart, osCommerce and Sylius will not support the new authentication flow.

You have two ways forward:

  • Move to a shop system with a supported Unzer plugin. See the plugin documentation.
  • Integrate against the Unzer API directly and handle the redirect and status flow yourself.

Action needed

Add the redirect and status flow to your PAPI integration

You need to support a redirect step and a status check, the same way you already do for 3-D Secure on cards.

1. Send a returnUrl in your authorize request. This is where Unzer sends the customer once verification is complete.

{
  "returnUrl": "https://www.your-shop.com/checkout/redirect"
}

2. Handle a pending response. When the risk engine requires verification, the authorize response includes isPending: true and a redirectUrl.

{
  "isSuccess": false,
  "isPending": true,
  "isError": false,
  "redirectUrl": "https://sandbox.unzer.com/verify?paymentId=s-pay-124"
}

3. Redirect the customer to redirectUrl. Unzer hosts and displays the verification screen, whichever method the risk engine picked. There is no method-specific UI for you to build.

4. Confirm the final result. After the customer returns to your returnUrl, call GET /v1/payments/{paymentId}. Instead of polling you can subscribe to webhook notifications and be told directly when the final status is available.

Full reference: Accept Unzer Invoice, server-side-only integration.

Action needed

Add the redirect and status flow to your Payolution integration

You need to send a response URL and handle the redirect Unzer returns.

1. Send your response URL in the original PREAUTH request.

<Request version="1.0">
  <Transaction>
    <Frontend>
      <ResponseUrl>https://myshop.de/response.php</ResponseUrl>
    </Frontend>
  </Transaction>
</Request>

On the POST interface, use FRONTEND.RESPONSE_URL=https://myshop.de/response.php.

2. Redirect the customer when you receive a PENDING response.

<Response>
  <Transaction>
    <Processing result="PENDING" code="..." />
    <Redirect url="http://paylater-mfa.test.unzer.io/..."/>
  </Transaction>
</Response>

On the POST interface, the redirect target arrives in PROCESSING.REDIRECT_URL.

3. Query the final status. This check always uses the XML interface, even if you authorise over POST.

  • Test: POST https://test-gateway.payolution.com/ctpe/query
  • Production: POST https://gateway.payolution.com/ctpe/query

Full reference: Payolution API documentation.

The pending response above is illustrative. Check it against the full Payolution API documentation before you build.

Legacy Payolution plugins are being retired

Legacy Payolution plugins will not be updated for the new authentication flow, so you need to move to something that supports it. Which route fits your setup?
Select one answer

For information

Unzer will contact you about the new in-store product

Unzer is introducing UnzerOne Instore, a new in-store BNPL experience with the additional verification step built in from the start.

There is nothing for you to do right now. Unzer will reach out by 20 August to offer the new product. Once you are on UnzerOne Instore you are CCD2 ready.

Action needed

Your PSP partner needs to extend their integration

Your partner has to support BNPL products with the additional verification flow. Pass this guide to their integration team, and contact support@unzer.com if you need help coordinating.

For information

How to test

These steps are the same whether you integrate via PAPI, the Payolution API, or a supported plugin.

Turn on test risk checks first. Unlike production, the test environment does not run real risk checks by default, so the verification step will not trigger on its own. Contact Unzer via the test-channel mailbox to have your channel activated. The test data below only works once that is done. Tell Unzer again when you have finished so the test risk checks can be switched off.

You only need to test the SMS one-time code flow. If your integration handles that redirect and status check correctly, the other methods behave the same way on Unzer’s side.

Cover three scenarios:

  • Accepted. Use the test email with the test phone number and code below. The transaction should complete.
  • Declined. Use the test email with any other phone number and the same code. The transaction should come back declined.
  • Abandoned. Start verification, then either leave without finishing or navigate back. If the customer abandons it, the transaction should reach a final state within 20 minutes and you get a webhook notification. If they navigate back, the order should be cancelled immediately on both sides.
Test triggerValue
Test customer email (PAPI flow)testing_2fa_sms@unzer.com
Test phone number+49 15228817001
SMS code, accepted authorisation999999
Any other phone number with code 999999Simulates a declined authorisation

Full test data: test data reference.

For information

Going live

Go-live can happen at any point from now on, and all channels are monitored afterwards. Where you stand depends on your integration.

Environment or integrationStatus
TestNot enabled by default. Request test risk-check activation first.
Production, plugins that support the flowEnabled
Production, newly onboarded merchantsActivated automatically, under monitoring. Unzer support will contact you if your integration does not handle the flow correctly.
Production, PAPI server-side-only and Payolution PayOn WrapperDeactivated by default. Once you have tested successfully, ask Unzer to activate it for your channel.

If you run a PAPI server-side-only integration or the Payolution PayOn Wrapper, request activation once your testing is done.

Request activation for your channel

Fill this in and we will open a pre-filled email in your mail client. This applies to PAPI server-side-only and Payolution PayOn Wrapper integrations.
This helps us find your account. Both appear on your Unzer invoice.
For example PAPI server-side-only, or Payolution PayOn Wrapper.
We will use this to reply to you.

No action needed

That is everything

Once Unzer activates your channel, the additional verification step goes live under monitoring. If your integration does not handle it correctly, Unzer support will contact you.

Questions about anything here? Contact support@unzer.com.