Dynamics 365
Commerce.
Uncensored.
Webinar #1
Dynamics 365 Commerce solution architect,
functional and technical consultant, developer
Roles
Fashion, FMCG, home furnishings and luxury
goods.
15+ D365 Commerce projects
Teaching consultants and developers in Noor
365 School
Teaching
OKSANA KOVALIOVA
Instructor
Webinar format
01 Instructor-led session
Structured information, knowledge base
02 Knowledge checks (quiz, discussion panels)
Validate your knowledge, do small practice on the fly
03 Extra materials
Configuration guides, checklists, cheat sheets, etc.
04 Q&A
Ask your questions
05 Feedback and next session topics
Influence on the topics we will cover
Our rules
Mute yourself
We all enjoy clear sound
space without noise.
Respect others
We are all unique
persons. Let’s enjoy the
webinars and care
about each other.
All questions are
valuable
It is safe place to ask
questions. All questions
are appreciated and will
be answered.
Did not ask question –
missed opportunity.
Stay focused
45 minutes of
useful knowledge
Agenda
Webinar 1
Refresh!
01
Architect payment integrations for Dynamics 365 eCommerce (intro)
02
Refresh!
• Terminology
• What is a ‘scale unit’?
• What is ‘headless commerce’?
Terminology
Dynamics 365
Commerce "D365" Backoffice HQ F&O (headquarters)
What is a ‘scale unit’
Scale unit is a web service + database that can be called by any system to execute some
business logic.
eCommerce POS
API
Headless commerce Retail server (web app)
Scale unit
Channel database
CDX Async client (service)
D365
Commerce
HQ
What is Headless commerce?
Headless commerce holds all commerce business logic and
database communication. Technically it is a set of DLL files.
Headless commerce (or CRT, or
Commerce Runtime)
eCommerce POS
API
Headless commerce Retail server (web app)
Scale unit
Channel database
CDX Async client (service)
D365
Commerce
HQ
What are scale unit APIs?
Scale unit (headless commerce APIs) is a way for applications to call scale unit to execute some
business logic.
D 365
eCommerce
POS
API
Headless commerce Retail server (web app)
Scale unit
Channel database
CDX Async client (service)
D365
Commerce
HQ
Do together with me :)
Practice: scale unit APIs in eCommerce
Architect
payment integrations for
Dynamics 365 eCommerce
(intro)
We will cover today
What payment integration is
01
D365 eCommerce payment integration flow
02
Steps to deliver a custom D365 eCommerce payment integration
03
We will not cover today
Payment integrations for Dynamics 365 POS and call center
01
Detailed payment integration scenarios
02
How to troubleshoot payment integrations
03
What is payment
integration?
Integration between some software and
payment platform/system/provider to let
customer pay for goods or services.
Normally requires development effort.
eCommerce web
site
Why do we need to integrate payments with
e-commerce, POS and other systems?
Always: Allow customer to pay for goods or services
01
Why do we need to integrate payments with
e-commerce, POS and other systems?
Always: Allow customer to pay for goods or services
01
Sometimes: Allow business to auto-cancel, refund payments (order canceled, returned, etc.),
collect payments by schedule, etc.
02
Which payments systems
are you using/integrating
with?
Share in Teams chat
How does payment
integration happen?
Integration happens through integration
APIs provided by payment
platform/system/provider.
eCommerce web
site
APIs
How can I find
integration APIs?
Google or ask payment service company.
eCommerce web
site
How can integration
API documentation
look like?
eCommerce web
site
eCommerce web
site
The challenge of payment integrations
In modern world retailers need to support various methods of payments.
Payment integration
via a payment
solution
To simplify integration management.
eCommerce web
site
Payment integration
via a payment
solution
To simplify integration management.
eCommerce web
site
Demo: Dynamics 365 eCommerce and Adyen
payment integration
https://docs.adyen.com/development-resources/testing/test-card-numbers/
Dynamics 365
eCommerce and multiple
payment integrations
Demo: Dynamics 365 eCommerce and Tamara
payment integration
D365 eCommerce
payment integrations
Payment
Within e-
commerce page
iframe
Adyen
Paypal
Redirect to a
payment provider
page
Tamara
Klarna
Some payment
service
What does it mean to ‘develop
payment integration (payment connector) for
D365 eCommerce’?
Integrate software (D365 eCommerce) with some payment system by following the rules of D365 Commerce
payment connector framework.
Out-of-the-box D365 eCommerce payment
connectors
Adyen
PayPal
Google Pay via Adyen
Apple Pay via Adyen
TestConnector
(Custom) Tamara
(Custom) Tap payment
(Custom) Klarna via Adyen
(Custom) Twint via Adyen
(Custom) Checkout.com
(Custom) Payfort
(Customer) Tabby
…
Custom D365 eCommerce payment integrations
Payment
Within e-
commerce page
iframe
Redirect to a
payment
provider page
e-Commerce payment flow with ‘single payment
authorization checkout’ enabled
https://learn.microsoft.com/en-us/dynamics365/commerce/dev-itpro/enhanced-sca
Demo: Pay with Adyen with flag enabled
Demo: Pay with Adyen with flag disabled
Scale unit
e-Commerce payment flow
APIs
<html>
<head>
<meta charset="UTF-8">
</head>
<body>...</body>
<html>
GetCardPaymentAcceptPoint
HTML control definition
Flag enabled
e-Commerce payment flow
Scale unit
APIs
GetCardPaymentAcceptPoint
HTML control definition
Flag enabled
e-Commerce payment flow
HTML control definition
Scale unit
APIs
Payment
service
GetCardPaymentAcceptPoint
Flag enabled
Scale unit
e-Commerce payment flow
Checkout (cart + card details)
APIs
Tokenize &
authorize
payment
Finished transaction
Flag enabled
Transaction and
payment saved
to database
e-Commerce payment flow
Checkout
Payment
connector
DLL
GetCardPaymentAcceptPoint
HTML control
definition
Finished transaction
Flag enabled
APIs
Scale unit
Get HTML
Payment
service
Tokenize & authorize payment
Transaction and payment saved
to database
Bonus: detailed eCommerce
payment flow
Can be downloaded from Telegram channel:
https://t.me/+AX7u0Ap-hQlkYmUy
Flag enabled
What is inside payment connector?
• С# class
• Implementing multiple interfaces
• Interfaces require multiple methods:
• GetMerchantAccountPropertyMetadata
• GetCardPaymentAcceptPoint
• Authorize
• Capture
• Void
• Refund
• …
/GetPaymentAcceptPoint
/GetMerchantAccount
PropertyMetadata
Where to find a sample payment connector?
• Request a basic sample from Microsoft support
• Research how Adyen and PayPal connectors work
• Find answers in PaymentSDK solution from Retail SDK
D365
Commerce HQ
Where to deploy payment connector DLL?
If this payment connector is going to be used by D365 eCommerce only.
D 365
eCommerce
POS
API
Headless commerce Retail server (web app)
Scale unit
Channel database
CDX Async client (service)
Payment connector DLL
Payment
connector DLL
Adyen connector in HQ, SCU and eCommerce
D365 Commerce HQ
Scale unit
Adyen connector in HQ, SCU and eCommerce
D365 Commerce HQ
Steps to have payment connector ready
Analyze
1. Get payment integration APIs from payment company
2. Determine the scope – which payment operations should be supported
3. Determine if you need ‘within e-commerce iframe’ or ‘payment redirect’ scenario
4. Validate API response compatibility with D365 eCommerce
5. Decide if to enable ‘single payment authorization checkout’ flag or not
Develop
1. Develop C# Payment connector by a sample + call integration APIs
2. Compile connector DLLs
Deploy
1. Deploy connector DLL as a part of a scale unit package to a scale unit
2. Deploy connector DLL as a part of HQ package to HQ
Configure
1. Configure HQ – payment connector properties, payment methods, cards, etc.
2. Send Distribution jobs to a channel database
3. Configure payment module in eCommerce
Test
1. Test from eCommerce
Is payment connector hard to develop?
• Can be time consuming when you just started
• D365 payment connector framework has limitations
• Payment service can have limitations
• Payment service integration APIs can be not user-friendly
• Payment service support can be weak
• Your scope can include only ‘pay’ integration or pay, cancel, void, refund, etc. – full set of
operations
• D365 eCommerce has known payment bugs
Any questions?
Share in Teams chat
Your feedback is ‘Thank you’ for the webinar and energy exchange
Reflection
Share your feedback in Teams using the formula:
1. My energy level after the webinar is … (from 1 to 10)
2. My main insight from the webinar is …
3. I want to join next webinar: Yes/No
4. My question for the next webinar is …
Bonus: detailed eCommerce
payment flow
Can be downloaded from Telegram channel:
https://t.me/+AX7u0Ap-hQlkYmUy
D365 Commerce webinar.pdf

D365 Commerce webinar.pdf

  • 1.
  • 2.
    Dynamics 365 Commercesolution architect, functional and technical consultant, developer Roles Fashion, FMCG, home furnishings and luxury goods. 15+ D365 Commerce projects Teaching consultants and developers in Noor 365 School Teaching OKSANA KOVALIOVA Instructor
  • 3.
    Webinar format 01 Instructor-ledsession Structured information, knowledge base 02 Knowledge checks (quiz, discussion panels) Validate your knowledge, do small practice on the fly 03 Extra materials Configuration guides, checklists, cheat sheets, etc. 04 Q&A Ask your questions 05 Feedback and next session topics Influence on the topics we will cover
  • 4.
    Our rules Mute yourself Weall enjoy clear sound space without noise. Respect others We are all unique persons. Let’s enjoy the webinars and care about each other. All questions are valuable It is safe place to ask questions. All questions are appreciated and will be answered. Did not ask question – missed opportunity. Stay focused 45 minutes of useful knowledge
  • 5.
    Agenda Webinar 1 Refresh! 01 Architect paymentintegrations for Dynamics 365 eCommerce (intro) 02
  • 6.
    Refresh! • Terminology • Whatis a ‘scale unit’? • What is ‘headless commerce’?
  • 7.
    Terminology Dynamics 365 Commerce "D365"Backoffice HQ F&O (headquarters)
  • 8.
    What is a‘scale unit’ Scale unit is a web service + database that can be called by any system to execute some business logic. eCommerce POS API Headless commerce Retail server (web app) Scale unit Channel database CDX Async client (service) D365 Commerce HQ
  • 9.
    What is Headlesscommerce? Headless commerce holds all commerce business logic and database communication. Technically it is a set of DLL files. Headless commerce (or CRT, or Commerce Runtime) eCommerce POS API Headless commerce Retail server (web app) Scale unit Channel database CDX Async client (service) D365 Commerce HQ
  • 10.
    What are scaleunit APIs? Scale unit (headless commerce APIs) is a way for applications to call scale unit to execute some business logic. D 365 eCommerce POS API Headless commerce Retail server (web app) Scale unit Channel database CDX Async client (service) D365 Commerce HQ
  • 11.
    Do together withme :) Practice: scale unit APIs in eCommerce
  • 12.
  • 13.
    We will covertoday What payment integration is 01 D365 eCommerce payment integration flow 02 Steps to deliver a custom D365 eCommerce payment integration 03
  • 14.
    We will notcover today Payment integrations for Dynamics 365 POS and call center 01 Detailed payment integration scenarios 02 How to troubleshoot payment integrations 03
  • 15.
    What is payment integration? Integrationbetween some software and payment platform/system/provider to let customer pay for goods or services. Normally requires development effort. eCommerce web site
  • 16.
    Why do weneed to integrate payments with e-commerce, POS and other systems? Always: Allow customer to pay for goods or services 01
  • 17.
    Why do weneed to integrate payments with e-commerce, POS and other systems? Always: Allow customer to pay for goods or services 01 Sometimes: Allow business to auto-cancel, refund payments (order canceled, returned, etc.), collect payments by schedule, etc. 02
  • 18.
    Which payments systems areyou using/integrating with? Share in Teams chat
  • 19.
    How does payment integrationhappen? Integration happens through integration APIs provided by payment platform/system/provider. eCommerce web site APIs
  • 20.
    How can Ifind integration APIs? Google or ask payment service company. eCommerce web site
  • 21.
    How can integration APIdocumentation look like? eCommerce web site
  • 22.
    eCommerce web site The challengeof payment integrations In modern world retailers need to support various methods of payments.
  • 23.
    Payment integration via apayment solution To simplify integration management. eCommerce web site
  • 24.
    Payment integration via apayment solution To simplify integration management. eCommerce web site
  • 25.
    Demo: Dynamics 365eCommerce and Adyen payment integration https://docs.adyen.com/development-resources/testing/test-card-numbers/
  • 26.
    Dynamics 365 eCommerce andmultiple payment integrations
  • 27.
    Demo: Dynamics 365eCommerce and Tamara payment integration
  • 28.
    D365 eCommerce payment integrations Payment Withine- commerce page iframe Adyen Paypal Redirect to a payment provider page Tamara Klarna
  • 29.
    Some payment service What doesit mean to ‘develop payment integration (payment connector) for D365 eCommerce’? Integrate software (D365 eCommerce) with some payment system by following the rules of D365 Commerce payment connector framework.
  • 30.
    Out-of-the-box D365 eCommercepayment connectors Adyen PayPal Google Pay via Adyen Apple Pay via Adyen TestConnector
  • 31.
    (Custom) Tamara (Custom) Tappayment (Custom) Klarna via Adyen (Custom) Twint via Adyen (Custom) Checkout.com (Custom) Payfort (Customer) Tabby … Custom D365 eCommerce payment integrations Payment Within e- commerce page iframe Redirect to a payment provider page
  • 32.
    e-Commerce payment flowwith ‘single payment authorization checkout’ enabled https://learn.microsoft.com/en-us/dynamics365/commerce/dev-itpro/enhanced-sca
  • 33.
    Demo: Pay withAdyen with flag enabled
  • 34.
    Demo: Pay withAdyen with flag disabled
  • 35.
    Scale unit e-Commerce paymentflow APIs <html> <head> <meta charset="UTF-8"> </head> <body>...</body> <html> GetCardPaymentAcceptPoint HTML control definition Flag enabled
  • 36.
    e-Commerce payment flow Scaleunit APIs GetCardPaymentAcceptPoint HTML control definition Flag enabled
  • 37.
    e-Commerce payment flow HTMLcontrol definition Scale unit APIs Payment service GetCardPaymentAcceptPoint Flag enabled
  • 38.
    Scale unit e-Commerce paymentflow Checkout (cart + card details) APIs Tokenize & authorize payment Finished transaction Flag enabled Transaction and payment saved to database
  • 39.
    e-Commerce payment flow Checkout Payment connector DLL GetCardPaymentAcceptPoint HTMLcontrol definition Finished transaction Flag enabled APIs Scale unit Get HTML Payment service Tokenize & authorize payment Transaction and payment saved to database
  • 40.
    Bonus: detailed eCommerce paymentflow Can be downloaded from Telegram channel: https://t.me/+AX7u0Ap-hQlkYmUy Flag enabled
  • 41.
    What is insidepayment connector? • С# class • Implementing multiple interfaces • Interfaces require multiple methods: • GetMerchantAccountPropertyMetadata • GetCardPaymentAcceptPoint • Authorize • Capture • Void • Refund • …
  • 42.
  • 43.
  • 44.
    Where to finda sample payment connector? • Request a basic sample from Microsoft support • Research how Adyen and PayPal connectors work • Find answers in PaymentSDK solution from Retail SDK
  • 45.
    D365 Commerce HQ Where todeploy payment connector DLL? If this payment connector is going to be used by D365 eCommerce only. D 365 eCommerce POS API Headless commerce Retail server (web app) Scale unit Channel database CDX Async client (service) Payment connector DLL Payment connector DLL
  • 46.
    Adyen connector inHQ, SCU and eCommerce D365 Commerce HQ Scale unit
  • 47.
    Adyen connector inHQ, SCU and eCommerce D365 Commerce HQ
  • 48.
    Steps to havepayment connector ready Analyze 1. Get payment integration APIs from payment company 2. Determine the scope – which payment operations should be supported 3. Determine if you need ‘within e-commerce iframe’ or ‘payment redirect’ scenario 4. Validate API response compatibility with D365 eCommerce 5. Decide if to enable ‘single payment authorization checkout’ flag or not Develop 1. Develop C# Payment connector by a sample + call integration APIs 2. Compile connector DLLs Deploy 1. Deploy connector DLL as a part of a scale unit package to a scale unit 2. Deploy connector DLL as a part of HQ package to HQ Configure 1. Configure HQ – payment connector properties, payment methods, cards, etc. 2. Send Distribution jobs to a channel database 3. Configure payment module in eCommerce Test 1. Test from eCommerce
  • 49.
    Is payment connectorhard to develop? • Can be time consuming when you just started • D365 payment connector framework has limitations • Payment service can have limitations • Payment service integration APIs can be not user-friendly • Payment service support can be weak • Your scope can include only ‘pay’ integration or pay, cancel, void, refund, etc. – full set of operations • D365 eCommerce has known payment bugs
  • 50.
  • 51.
    Your feedback is‘Thank you’ for the webinar and energy exchange Reflection Share your feedback in Teams using the formula: 1. My energy level after the webinar is … (from 1 to 10) 2. My main insight from the webinar is … 3. I want to join next webinar: Yes/No 4. My question for the next webinar is …
  • 52.
    Bonus: detailed eCommerce paymentflow Can be downloaded from Telegram channel: https://t.me/+AX7u0Ap-hQlkYmUy