Adyen Payment Successful but Sales Order Not Created in Dynamics 365 Commerce
How to handle the 3DS flow issue in Dynamics 365 Commerce
In Dynamics 365 Commerce, one of the most sensitive areas in an online checkout process is the payment flow. A payment may appear successful in the payment provider portal, but the actual sales order may not always be created in Commerce if the final checkout response is not processed correctly.
This issue can become critical when customers are charged through Adyen, but the corresponding sales order is not created in Dynamics 365 Commerce. The customer sees a successful payment, but the retailer does not receive a confirmed order to fulfill.
A known Microsoft issue related to this behavior is available in Lifecycle Services:
https://fix.lcs.dynamics.com/Issue/Details?bugId=978743
This issue is related to the Adyen connector and the 3DS flow, where early payment authorization can happen before the Commerce checkout process has fully completed the order creation step.
The typical symptom
You may see the following behavior:
The customer completes checkout.
The payment is authorized or captured in Adyen.
The 3DS authentication is completed.
No order confirmation ID is generated in Dynamics 365 Commerce.
No sales order is created.
The payment exists in Adyen, but Commerce has no matching order.
This creates a payment and order mismatch, which is risky for customer service, finance reconciliation, and fulfillment teams.
Why this happens
In a 3DS payment flow, the customer may be redirected or challenged for authentication. After authentication is completed, the payment provider sends the final response back to the Commerce checkout flow.
If the payment is authorized but the final response is delayed, interrupted, or not processed correctly, Commerce may not complete the sales order creation step.
This is why the issue is not always visible in normal testing. It may occur more often in low network conditions, interrupted browser sessions, timeout scenarios, or specific 3DS redirect flows.
What to do if you face this issue
1. Confirm the payment status in Adyen
Start by checking the transaction in the Adyen portal.
Validate the following:
Payment status.
PSP reference.
Merchant reference.
Authorization result.
Capture status.
3DS result.
Do not assume the payment failed just because the sales order is missing in Commerce. First confirm whether Adyen successfully authorized or captured the payment.
2. Check whether the order confirmation ID was generated
In Dynamics 365 Commerce, review whether an order confirmation ID was generated for the checkout.
If the payment exists in Adyen but there is no order confirmation ID, the problem is likely between the final payment response and the Commerce order creation process.
This is the key point where the investigation should focus.
3. Review the Microsoft known issue in LCS
Search and review the following Microsoft known issue in Lifecycle Services:
https://fix.lcs.dynamics.com/Issue/Details?bugId=978743
This issue is relevant to the Adyen connector and the 3DS early authorization flow.
If your symptoms match this issue, you should use it as the reference point while reviewing your Commerce version, Adyen connector version, and available fixes.
4. Contact Adyen to confirm the 3DS flow setup
Work with Adyen to confirm that your 3DS configuration is correctly enabled and aligned with Dynamics 365 Commerce requirements.
Ask Adyen to validate:
Whether 3DS is enabled for your merchant account.
Whether the correct 3DS flow is active.
Whether the redirect and response URLs are configured correctly.
Whether the merchant account is using the expected payment method setup.
Whether the final response is being returned correctly after authentication.
Whether there are any failures, retries, or timeout events on Adyen’s side.
This step is important because the payment may be successful in Adyen, but Commerce still depends on the correct final response to complete the order.
5. Validate the Adyen connector version
Check the Adyen connector version being used in your Dynamics 365 Commerce environment.
If you are using an older connector version, review whether Microsoft or Adyen has recommended an update for the 3DS flow issue.
Make sure the connector version is compatible with your Commerce version and your payment configuration.
6. Enable Application Insights logging
Enable Application Insights for your Commerce environment so you can capture better telemetry around checkout failures.
This helps identify:
Failed checkout requests.
Missing final payment responses.
Exceptions during order creation.
Timeouts.
Cart completion issues.
Payment response handling errors.
Without telemetry, it is difficult to prove where the process failed. Application Insights gives visibility into the actual checkout flow instead of relying only on Adyen transaction status.
7. Test the scenario in UAT
Before applying any change in production, reproduce and validate the behavior in UAT.
Test the following scenarios:
Normal card payment.
3DS authenticated payment.
Low network condition.
Browser refresh during checkout.
Browser close after payment authorization.
Delayed response from the payment page.
Multiple retry attempts.
The goal is to confirm that payment authorization and order creation remain aligned.
8. Apply the recommended fix or configuration change
Based on the LCS issue, your Commerce version, and Adyen’s confirmation, apply the recommended fix or configuration changes.
This may include:
Updating the Adyen connector.
Applying a Microsoft hotfix or quality update.
Correcting 3DS configuration.
Updating payment method setup.
Adjusting response handling configuration.
Improving monitoring through Application Insights.
The exact correction depends on your environment version and payment setup, so it should be validated carefully before production rollout.
9. Validate end to end order creation
After applying the fix, perform full checkout testing.
Confirm that:
Payment is authorized in Adyen.
3DS authentication completes successfully.
Final response returns to Commerce.
Order confirmation ID is generated.
Sales order is created.
Payment reference is traceable.
The order can move forward to fulfillment.
The issue should only be considered resolved when both payment and order creation are completed successfully.
Key takeaway
If Adyen shows a successful payment but Dynamics 365 Commerce does not create the sales order, Investigate the 3DS flow, final payment response, connector version, and Commerce order creation process.
The Microsoft LCS issue below should be reviewed when facing this behavior:
https://fix.lcs.dynamics.com/Issue/Details?bugId=978743
The most important correction path is to validate the 3DS setup with Adyen, review the applicable Microsoft fix, enable Application Insights, test the flow in UAT, and then apply the correction in production.
In Commerce payment processing, the transaction is only truly successful when both the payment and the sales order are created correctly.