Digital Payment Framework
Introduction
VSS Digital Payment Framework (DPF) supports online payment initiation to payment service providers (PSP).
Payment for VSS orders which includes down payment and invoice can now be paid online by customers directly.
Business Context
Nowadays, initiating online payment transactions has become a common and even expected functionality that should exist in any DMS system. This function completes the end-to-end life cycle of a certain order processing be it sales or in after sales. Furthermore, with the existence of various third-party payment service providers which are easy to use, secured, convenient for customers and integration-friendly, building the function to facilitate online payment in VSS has become necessary rather than optional.
Until now, there has been no out-of-the-box solution for integrating VSS, with several PSPs and handling real-time incoming and outgoing payment functionalities. In some VSS implementations, the customer was responsible for their own implementation and for periodically monitoring of such integrations in all their future releases, go-live, and so forth. This consumes considerable time, effort, and resources to complete such implementation. Furthermore, such integration development is applicable only to a specific PSP. This prevents the customer from switching to a different PSP where a separate integration development is required.
Therefore, Digital Payment Framework aims to provide an out-of-the box payment integration framework compatible for the following payment integration option:
Payment integration with SAP Digital Payment Add-on (SAP DPAO)
Main Features
The features of Digital Payment Framework include the following:
Out-of-the-box solution for integrating VSS, with several PSPs and handling real-time incoming and payment functionalities.
Payment integration option with SAP Digital Payment Add-on. Refer https://help.sap.com/docs/DIGITALPAYMENTS for more explanation.
Event driven payment-trigger from VSS event, email notification or VSS Customer Portal.
Automatic generation of electronic payment receipt upon successful payment transaction.
Automatic financial postings and clearings upon successful payment transaction.
Easy implementation steps supported with connection to PSP sandbox environment for payment integration test before going live.
Solution Overview
The following describes the solution overview of the Digital Payment Framework:
Technical Overview
Overview
VSS Digital Payment Framework is a solution that offers a way to realize incoming customer payments in the context of Business Document via online channel. It allows customer to make payment for one or more payment-relevant documents (payment items) in the scope of single Business Document. Currently, DPF supports payments for VSS Order. This includes following payment items:
downpayment request,
customer invoice.
Using enhancement technique (via BAdI implementation), other types of business documents and payment items can be handled as well.
VSS Digital Payment Framework realizes online payments via external Payment Service Provider (PSP). Account in PSP must be registered and fully setup beforehand by customers. For example, customer wants to use Stripe and PayPal as Payment Service Providers. Before DPF can be used, accounts for Stripe and PayPal must be established and functional. PSP is responsible for processing customer payment via selected payment method, authorization and capturing customer’s payment instrument and transferring money between appropriate accounts. Digital Payment Framework initiates payment process in PSP by providing all required information about purchase and receives result of the operation from PSP. After getting confirmation about successful transaction, DPF indicates this information in the system and marks documents as paid by customer. In case when payment process fails, is rejected or cancelled, transaction is indicated as not completed and can be always repeated by customer. The whole payment process always takes place in the web browser on dedicated PSP’s page and is fully controlled by customer. DPF never charges customer directly. Automatic recurring payments are therefore not supported by DPF in current version.
VSS Digital Payment Framework can communicate with external Payment Provider using two scenarios:
Connection via SAP Digital Payment Add-On (DPAO)
o Wider range of PSP supported via SAP DPAO
o Subscription to BTP digital payment service required (paid option)
o DPAO BTP service setup necessary. For details, please refer to SAP documentation under following link: https://help.sap.com/docs/DIGITALPAYMENTS
DPF components
The Digital Payment Framework is composed of 3 main components:
Document Adapter
Payment Transaction engine
Payment Page application
Document Adapter serves as an interface between DPF and business document. It is responsible for following operations:
Fetching document data. This includes information about open items (possible for payment) and completed items (already paid by customer).
Calculation of payment amounts (due and paid) for business document items.
Performing FI clearing of paid documents.
Delivering payment receipt(s) for payments made in context of business document.
Transaction engine is responsible for processing Payment Transactions. It creates and updates Payment Transaction record in database, based on information provided by Document Adapter. Processing is triggered by user entry made via Payment Page application.
Payment Page application is a dedicated Web UI App, that allows user to process single payment transaction. The processing consists of following steps:
a) Information about payment transaction is read from Payment Transaction engine.
b) All payment options possible for the transaction are determined and presented on the UI.
c) User chooses one payment option. Processing is redirected to Payment Service Provider according to payment type selected.
d) User completes payment process in Payment Service Provider screen.
e) Processing returns to Payment Page and result of the operation from PSP is passed back to DPF to be registered in Payment Transaction record.
f) After successful payment completion, transaction engine triggers FI clearing via Document Adapter module. At the same time payment receipt PDF file is generated.
Payment Page application communicates with DPF transaction engine via Payment Page API. This API is available as REST Json service and OData v2 service.
DPF delivers predefined ready-to-use Payment Page application available under following link:
/sap/bc/ui5_ui5/dbe/dp_pp_dpao
It can be used directly in customer implementation. It is also possible to build own UI application that will serve as Payment Page, by using corresponding DPF Payment Page API.
Payment Transaction processing
Single payment in DPF is represented by Payment Transaction. One Payment Transaction can be created for single business document (e.g. VSS Order) only. But it can include multiple payment items (payment document), like Downpayment Requests or customer invoices. For technical reason, one transaction can handle only one type of payment document and one currency. It is therefore possible to perform one payment for 2 or more downpayment requests or invoices, but not for downpayment request and invoice together. Of course, all payment documents must be assigned to the same customer (payer).
DPF Payment Transaction has his own lifecycle. Following processing stages can be identified for a transaction:
Created
Initialized
Started
Rejected (failed/cancelled)
Completed (payment successful)
Single transaction object can be created by a caller (consumer application) for single business document and one or more open payment items. Caller (consumer application) can be any other app or module, that executes corresponding DPF API call in the backend system. After transaction is initialized, it can be processed in dedicated Payment Page UI application (provided by DPF or developed by customer). Customer starts transaction interactively in Payment Page App and handles the payment. At this stage, transaction can be cancelled/aborted and started again many times. After payment confirmation, transaction gets either completed or rejected. At that stage, it is closed with corresponding status. In case payment was not successful, caller can start the whole process for the same payment document/item(s) again.
Monitoring
Dedicated application Payment Transaction Monitor is available for monitoring purposes. Using this app, authorized users can monitor status of payment transactions and perform additional tasks, like repeating of clearing procedure and Payment Receipt generation in case of any error.