MPay Integration Guide (Version 1.2)
MPay Integration Guide (Version 1.2)
Confidential
MPay Integration Guide
Change Log
Version Date Description
0.1 05.08.2013 Initial version
0.2 12.08.2013 Ready for review
0.3 24.04.2014 Added some sample clarifications
1.0 28.05.2014 Added Glossary of Terms. Added Language to OrderDetailsQuery.
Added Type to OrderProperty.
1.1 25.07.2014 Removed Publish Invoice integration scenario.
1.2 24.12.2015 Added IBAN info and marked as obsolete the following properties
“TreasuryAccountName”, “TreasuryAccount” from
“PaymentAccount”.
Page | 1 of 28
MPay Integration Guide
Table of Contents
1. Executive summary ..................................................................................................................3
2. Glossary of terms ......................................................................................................................4
3. Introduction ................................................................................................................................5
4. Organizational context ...........................................................................................................6
5. System context ..........................................................................................................................7
6. Interaction scenarios ...............................................................................................................8
7. Integration development .................................................................................................... 11
8. Integration testing ................................................................................................................ 12
9. Security considerations ....................................................................................................... 13
10. API Reference ....................................................................................................................... 14
11. Samples .................................................................................................................................. 22
Page | 2 of 28
MPay Integration Guide
1. Executive summary
MPay is a reusable and shared platform-level service the main scope of which is to enable the
payment for any e-Service with any available payment instrument.
This document describes the technical interfaces that must be exposed by information systems
that integrate with MPay and the technical interfaces that MPay exposes for them. Its target
audience is the development teams for those information systems.
The document contains all of the relevant information required for a complete understanding
of MPay from the integration point of view. It contains integrations development details,
security and e-Service registration considerations and an API reference.
This document is also accompanied by a .NET sample that exemplify the main interaction
scenario, i.e. ordering and paying online for the order.
Page | 3 of 28
MPay Integration Guide
2. Glossary of terms
Term Definition
Page | 4 of 28
MPay Integration Guide
3. Introduction
3.3. Notations
This document contains several notation styles; the following details the styles that have a
degree of significance beyond the purpose of communicating information:
Yellow Highlighted Text – Text that is highlighted in yellow irrespective of font attributes (font
type, italics, bold, underlined, etc.) means that the text is waiting clarification or verification.
Red Bold Text – Text that is red in color and bold, defines an important piece of information
that must be read.
Italic Bold Text – Text that is bold and italic detail actual information or scripts that need to
be executed, created, and copied from or to.
Page | 5 of 28
MPay Integration Guide
4. Organizational context
Page | 6 of 28
MPay Integration Guide
5. System context
Page | 7 of 28
MPay Integration Guide
6. Interaction scenarios
Because MPay integrates multiple payable e-Service providers and different payment
providers that offer a variety of payment instruments, there are many ways a payer can interact
with it.
A short description of interaction scenarios is following.
Page | 8 of 28
MPay Integration Guide
Payer
:Order Confirmation
2. Pay Order()
Pay Order()
3. Redirect to
MPay(OrderID)
4. Get Pay Page(ServiceID, OrderID, ReturnUrl (optional))
5. GetOrderDetails(ServiceID, OrderKey)
7. Select Instrument()
Select Instrument()
Publish Invoice Details()
Redirect to Instrument Page()
:ReturnUrl Page
(from Actors)
Page | 9 of 28
MPay Integration Guide
3. Clicking on this button redirects payer’s browser to MPay’s pay page.
4. The browser posts ServiceID, OrderID and, optionally, a ReturnUrl to MPay’s pay page
(see Performing redirect).
5. Before displaying the pay page, MPay invokes IServiceProvider.GetOrderDetails
operation implemented by e-Service web-service.
6. Based on returned OrderDetails, MPay creates or updates an existing invoice and shows
the invoice details to the payer.
7. Payer selects a payment instrument. For credit card payments this means publishing
invoice details to the appropriate credit card processor (which is one of the payment
providers).
8. MPay redirects the browser to instrument’s specific payment page.
9. Payer fills in the required payment details (such as his credit card details) and submits
the payment for authorization.
10. Payment provider performs the appropriate payment authorization.
11. Payment provider redirects the browser to MPay’s payment result page.
12. Before displaying payment results, MPay retrieves a payment confirmation from the
payment provider.
13. If the payment is successful, MPay sends a payment confirmation to e-Service, by
invoking IServiceProvider.ConfirmOrderPayment operation implemented by e-Service
web-service and displays payment results to the payer. Note that
ConfirmOrderPayment call can be retried multiple times, until it succeeds. This means
that all implementations must be idempotent, i.e. multiple calls must not be considered
as multiple payments.
14. Optionally, payer can download and print a payment receipt.
15. Optionally, if ReturnUrl was provided at step 4, payer can choose to return to e-Service
page. In this case, MPay redirects the browser to the ReturnUrl.
Page | 10 of 28
MPay Integration Guide
7. Integration development
Information Description
Service MPay must be able to reach the web-service that implements the IServiceProvider
Provider URL interface. Please provide the URL that can be reached by MPay.
Service As specified above, this certificate must be used to sign SOAP messages by e-Service.
Certificate To be able to verify the signatures, MPay must have the certificate registered.
Additionally, if your deployment infrastructure is able to filter calls by incoming IPs, then please
request the External IP address of MPay and configure your filters appropriately.
Page | 11 of 28
MPay Integration Guide
8. Integration testing
Page | 12 of 28
MPay Integration Guide
9. Security considerations
9.1. Authentication
An IServiceProvider interface implementation must validate the signature of the incoming
SOAP messages sent by MPay. It is recommended that implementations re-use the existing
validation logic provided by web-service frameworks, such as .NET WCF or J2EE JAX-WS, by
correctly configuring the end-points.
For information regarding obtaining a service certificate and registration, see Obtaining
credentials and Payable e-Service registration.
9.2. Encryption
All communication with MPay SOAP service is encrypted by using standard TLS protocol
(HTTPS). The client certificate used to initiate the encrypted transport is also used for
Authentication.
Page | 13 of 28
MPay Integration Guide
Method POST
URL https://mpay.gov.md/service/pay (note that this depends on environment)
Description Direct user to perform the payment online or to access other payment methods
instructions.
Form or URL parameters
Name Type Required/Optional Description
ServiceID string Required Service identifier.
OrderKey string Required Order key within the service. This must be a uniquely
generated key for this order (such as its primary key or
other kind of reference number).
ReturnUrl URL Optional The URL that MPay will redirect too after payment
(either successful or unsuccessful). This page will be
redirected via GET HTTP method. Please make sure
you URL encode any parameters you use to build this
URL.
Page | 14 of 28
MPay Integration Guide
InvalidParameter Some input parameter is invalid. Please review the returned Fault
Reason text and called operation description.
InvoiceAlreadyPaid This invoice already has some payments and cannot be cancelled.
Page | 15 of 28
MPay Integration Guide
Signature ConfirmOrderPayment(confirmation: PaymentConfirmation)
Description Confirms a payment for an order.
Returns void
Remarks In some cases this method might be called multiple times for the same payment
(uniquely identified by PaymentID). Please make sure that these calls will not result in
multiple payments being applied to the same Order.
Input parameters
Name Type Description
confirmation PaymentConfirmation A structure that describes the payment confirmation.
Faults
Code Reason
InvalidParameter Some input parameter is invalid. Please provide the
appropriate details in Fault Reason.
UnknownService The provided ServiceID is unknown.
UnknownOrder The provided OrderKey is unknown.
10.5. Structures
Important. The order in which the members are described below is for description purposes
only. The order of the elements in the actual XML structures, as defined in WSDL, is
alphabetical. To get a correct implementation, it is recommended to use an automatic
conversion tool from WSDL to your programming language or environment.
OrderDetailsQuery
OrderDetails
Reason string (50) Required The reason for the payment of this
order. Localizable.
Page | 16 of 28
MPay Integration Guide
not.
IssuedAt DateTime Optional The date and time when the order
was registered in the back-office
system.
DueDate DateTime Optional The due date until the order can be
paid. When this property is not set
then the order has no expiration
date for accepting payments.
CustomerType CustomerType Optional, default: The type of the customer this order
Unspecified was created for.
OrderLine
Reason string (50) Required The reason for the payment behind
this line. Localizable.
Page | 17 of 28
MPay Integration Guide
OrderDetails
OrderProperty
DisplayName string (36) Optional, default: The display name of the property.
same as Name Localizable.
PaymentConfirmationsQuery
OrderKey string (36) Optional Order key within the service for
Page | 18 of 28
MPay Integration Guide
which payment was made.
PaymentConfirmation
OrderKey string (36) Required Order key within the service for
which payment was made.
PaymentConfirmationLine
PaymentAccount
Page | 19 of 28
MPay Integration Guide
payment.
PaymentProperty
10.6. Enumerations
Member Description
OrderStatus
PartiallyPaid The order was partially paid and can be additionally paid. Can be paid
Completed The order is complete, i.e. the service is delivered. Cannot be paid
CustomerType
CurrencyCode
MPay uses ISO 4217 currency codes. The following list is just a subset of the active codes.
Page | 20 of 28
MPay Integration Guide
EUR Euro
Page | 21 of 28
MPay Integration Guide
11. Samples
MPayOfflineSample.pfx The key-pair (private and public keys, Personal and Trusted
signed by root CA) used by sample offline People
MPay implementation
Page | 22 of 28
MPay Integration Guide
Page | 23 of 28
MPay Integration Guide
11.2.1. GetOrderDetails
Request:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-
1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="uuid-2e4cc486-0b5d-4af2-a361-e6c2fdaf900a-1">
<u:Created>2013-08-12T05:06:20.247Z</u:Created>
<u:Expires>2013-08-12T05:11:20.247Z</u:Expires>
</u:Timestamp>
<o:BinarySecurityToken u:Id="uuid-5746b093-5944-45eb-ae43-bffc5e52c49d-2"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-
1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-
message-security-
1.0#Base64Binary">MIIDCTCCAfWgAwIBAgIQksFqROhPr7JCKKE3HuXP7DAJBgUrDgMCHQUAMBsxGTAXBgNVBAMTE
E1QYXlTYW1wbGVSb290Q0EwHhcNMTMwNzMwMDkwNTM1WhcNMzkxMjMxMjM1OTU5WjAcMRowGAYDVQQDExFNUGF5T2Zm
bGluZVNhbXBsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWnLnPdBmHyXWeS7+IWM9TMe7yh5NG9qAx
Y5HFQGCq1PcA0bbsUIFxEccO8V9ztxRZIGdqOzRwdwb/zcPXfQ3uaWLYA66wq6fETzR8v5O4+YFNs0OqO0XqKESR6bm
5pbdoMkqiviWw1P1w6bvTCTSlx3WQUSMpAGWDFY13BxmMkHz/JQ1/yX/PCjFV05V39YBZPxPlZVLeqfckxA12XfT1MG
5oVCy3sokYlqiQ51APvoiKp2QwY6n2w6N7gLs6HJOxA4wjgmVS4cb3Xj/VsmtY+l4OPBToNf3OTK2K0UstoS2deh9zq
cnvcOQFCXHha6+U7fBY/nKmFu+mBzPI5eOUCAwEAAaNQME4wTAYDVR0BBEUwQ4AQdQYVXqL6CsO0g2khLKFvOKEdMBs
xGTAXBgNVBAMTEE1QYXlTYW1wbGVSb290Q0GCEGOzQZGBOD2lQKnbBdaYewQwCQYFKw4DAh0FAAOCAQEAwUDG5RAG8N
3QyjCO2Zuu1bR4R/P77IjimRGp6EVWkO00C9jAmDX4yNlSs27h7xNliqx3HBJml93vTshtlua06K1Dw1hGXfXNAq6+f
bvoRBum36yNryrA32uHUkCHUknktTS+CDspIjcp6GaTh1Aon6cuyB1EnUosOLylNlsKoDyPt/4x0Jv3U2YGP/q7WjrL
bRdrwPOMf6XWNv605SF/W24yXZbNpmRPfxcfcUUzQ28SKrL/WkeQOiaw6yvafWxjxrpXpcSd7WqlUejB65cYFvkuYT+
E7dYA6fo0uSRse4kLCL4ANqb7kL+VVaxWi7LLiGCuldRTukl1O+HQdBFIhg==</o:BinarySecurityToken>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>uj8/5tcROY0xWO0QUqBMZINDEcQ=</DigestValue>
</Reference>
<Reference URI="#uuid-2e4cc486-0b5d-4af2-a361-e6c2fdaf900a-1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>lFDD+mLHGZMbI6udnmfLc/JvdH0=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>HBCY+FGbrZVNJSkp0ugthMH9OIIfLxwqetncOLDpi2n51zmiTe9YnVngu+3UGxf5UqUzvJ2AZ7u
VAishCNLz2mYVymP5eoBjkNCbCKC8URRCYlfLbqs1suG4TuHeZl5Yqq8AYkmEtQtjSVxLW2eYMeQ1ss1gIjGqunIHp9
ZmHKrUTcvn4nWz4/lxml/Jjh0yR+Yw6S07rBOFL5QlLL4iGxiIQF5L3s1FBeXPw3jRLUgw/D/3kRbEQuENq2GttKzZH
/T9oCFTIz0iTkJPv1Xt9UsMsL146tsN9uLO/sISF6NxaYMukZ+fNFHNS1kWyXWBmFM8hnygAjX+l6y7uQ5hsA==</Si
gnatureValue>
<KeyInfo>
<o:SecurityTokenReference>
Page | 24 of 28
MPay Integration Guide
<o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
wss-x509-token-profile-1.0#X509v3" URI="#uuid-5746b093-5944-45eb-ae43-bffc5e52c49d-2" />
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
<To s:mustUnderstand="1"
xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://localhost:2155/Api/S
erviceProvider.svc</To>
<Action s:mustUnderstand="1"
xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">https://mpay.gov.md/IServic
eProvider/GetOrderDetails</Action>
</s:Header>
<s:Body u:Id="_1">
<GetOrderDetails xmlns="https://mpay.gov.md">
<query xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<OrderKey>002</OrderKey>
<ServiceID>SERVICE1</ServiceID>
</query>
</GetOrderDetails>
</s:Body>
</s:Envelope>
Reply:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="uuid-90baf5bc-f038-4fb3-ab83-7b63a73fbccf-1">
<u:Created>2013-08-12T05:19:51.066Z</u:Created>
<u:Expires>2013-08-12T05:24:51.066Z</u:Expires>
</u:Timestamp>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>ePBF8NCKbsJnW+RT7NxSG+ssiEo=</DigestValue>
</Reference>
<Reference URI="#uuid-90baf5bc-f038-4fb3-ab83-7b63a73fbccf-1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>egFIGTnIlnlmOv/Kx1ulkKqK58g=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>Id5Dg3WIfcMlQwH2G0TFFZ4A3NsRdHZQiozY5Bmv3UibW86J6PhucW72xz7FhlBsIK3o5fFNve+
aFNfNmpZGxzux6EeB2QV3/GiGE6P0bvQCQ6+Cx/aNdMy2d9rFX6yseDejyMrXK148anUY4tvVjBkaa0I33haNV/0l9W
pvt4ANXxrvOG6q889NnhkJ47s3qr4GxGuZST50EjJl9pol2hXBgkpofQB7m9vHOsE0OTndGpMdrgPV3IiF7gGSx0161
bJLBDiFKnSoLnmzoqth/ped+joaM+PwSzFeti6s3wHKuxHIyzD4D1G23mbNfWIpFnBSpbMyoAJPiBRjK+GCFw==</Si
gnatureValue>
<KeyInfo>
<o:SecurityTokenReference>
<X509Data>
<X509IssuerSerial>
<X509IssuerName>CN=MPaySampleRootCA</X509IssuerName>
Page | 25 of 28
MPay Integration Guide
<X509SerialNumber>-
62593173075056624188289871685237271978</X509SerialNumber>
</X509IssuerSerial>
</X509Data>
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
</s:Header>
<s:Body u:Id="_1">
<GetOrderDetailsResponse xmlns="https://mpay.gov.md">
<GetOrderDetailsResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<OrderDetails>
<Currency>MDL</Currency>
<Lines>
<OrderLine>
<AmountDue>12.3</AmountDue>
<LineID>DEFAULT</LineID>
<Reason>Sample Service Certificate</Reason>
</OrderLine>
</Lines>
<OrderKey>001</OrderKey>
<Reason>Sample Service Certificate</Reason>
<ServiceID>SERVICE1</ServiceID>
<Status>Active</Status>
<TotalAmountDue>12.3</TotalAmountDue>
</OrderDetails>
</GetOrderDetailsResult>
</GetOrderDetailsResponse>
</s:Body>
</s:Envelope>
11.2.2. ConfirmOrderPayment
Request:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="uuid-b59a970b-0038-443a-81d6-218a0b457262-2">
<u:Created>2013-08-12T05:22:18.491Z</u:Created>
<u:Expires>2013-08-12T05:27:18.491Z</u:Expires>
</u:Timestamp>
<o:BinarySecurityToken u:Id="uuid-30865158-af80-4edb-89f0-8231f6be1198-5"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-
1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-
message-security-
1.0#Base64Binary">MIIDCTCCAfWgAwIBAgIQksFqROhPr7JCKKE3HuXP7DAJBgUrDgMCHQUAMBsxGTAXBgNVBAMTE
E1QYXlTYW1wbGVSb290Q0EwHhcNMTMwNzMwMDkwNTM1WhcNMzkxMjMxMjM1OTU5WjAcMRowGAYDVQQDExFNUGF5T2Zm
bGluZVNhbXBsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWnLnPdBmHyXWeS7+IWM9TMe7yh5NG9qAx
Y5HFQGCq1PcA0bbsUIFxEccO8V9ztxRZIGdqOzRwdwb/zcPXfQ3uaWLYA66wq6fETzR8v5O4+YFNs0OqO0XqKESR6bm
5pbdoMkqiviWw1P1w6bvTCTSlx3WQUSMpAGWDFY13BxmMkHz/JQ1/yX/PCjFV05V39YBZPxPlZVLeqfckxA12XfT1MG
5oVCy3sokYlqiQ51APvoiKp2QwY6n2w6N7gLs6HJOxA4wjgmVS4cb3Xj/VsmtY+l4OPBToNf3OTK2K0UstoS2deh9zq
cnvcOQFCXHha6+U7fBY/nKmFu+mBzPI5eOUCAwEAAaNQME4wTAYDVR0BBEUwQ4AQdQYVXqL6CsO0g2khLKFvOKEdMBs
xGTAXBgNVBAMTEE1QYXlTYW1wbGVSb290Q0GCEGOzQZGBOD2lQKnbBdaYewQwCQYFKw4DAh0FAAOCAQEAwUDG5RAG8N
3QyjCO2Zuu1bR4R/P77IjimRGp6EVWkO00C9jAmDX4yNlSs27h7xNliqx3HBJml93vTshtlua06K1Dw1hGXfXNAq6+f
bvoRBum36yNryrA32uHUkCHUknktTS+CDspIjcp6GaTh1Aon6cuyB1EnUosOLylNlsKoDyPt/4x0Jv3U2YGP/q7WjrL
bRdrwPOMf6XWNv605SF/W24yXZbNpmRPfxcfcUUzQ28SKrL/WkeQOiaw6yvafWxjxrpXpcSd7WqlUejB65cYFvkuYT+
E7dYA6fo0uSRse4kLCL4ANqb7kL+VVaxWi7LLiGCuldRTukl1O+HQdBFIhg==</o:BinarySecurityToken>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
Page | 26 of 28
MPay Integration Guide
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>lFDM+hr7AtA543IqT759GKSwgCU=</DigestValue>
</Reference>
<Reference URI="#uuid-b59a970b-0038-443a-81d6-218a0b457262-2">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>i2XCBmhBNf+9ibajweh//4YggJQ=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>kpIMFpjrVwKGA4HtRAdj3pCwB0YDLymslJURrBwbNNJ7YeQNFVZW3Hub4wMXCxHgMhqJBb/vDXl
MzyWUWrnftHb0kYn/dC+ngjHCuuapqWvqRh9Sawo/phbEeG1gyOkz+16DOqCGfB0jPk1bf8EAfjl3QOhlgaoq6KJhGa
l+e2Mfoiraa0wjifOFMUnODPigB0tI9lJXxNBZiwYkA0UswfE5yN8apHrZ06YEl4UXSDdN0UyEyK6CSvHT6xVIUEMnM
y24hRyoezFVo8FQMB63pi3Q4h27yeSP/Q/tjnluBZsOe7DMxQK/bGuWM0O0nxL8JZUfAfrctzpKjYgw7pb1/Q==</Si
gnatureValue>
<KeyInfo>
<o:SecurityTokenReference>
<o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
wss-x509-token-profile-1.0#X509v3" URI="#uuid-30865158-af80-4edb-89f0-8231f6be1198-5" />
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
<To s:mustUnderstand="1"
xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://localhost:2155/Api/S
erviceProvider.svc</To>
<Action s:mustUnderstand="1"
xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">https://mpay.gov.md/IServic
eProvider/ConfirmOrderPayment</Action>
</s:Header>
<s:Body u:Id="_1">
<ConfirmOrderPayment xmlns="https://mpay.gov.md">
<confirmation xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Currency>MDL</Currency>
<InvoiceID>FE2EF45C357D</InvoiceID>
<Lines>
<PaymentConfirmationLine>
<Amount>321.00</Amount>
<DestinationAccount>
<BankAccount>MD89TRGAAA11452101110000</BankAccount>
<BankCode>TRES</BankCode>
<BankName>State Treasury</BankName>
<BeneficiaryName>Sample Service Provider</BeneficiaryName>
</DestinationAccount>
<LineID>DEFAULT</LineID>
</PaymentConfirmationLine>
</Lines>
<OrderKey>002</OrderKey>
<PaidAt>2013-08-12T08:22:18.4874003+03:00</PaidAt>
<PaymentID>9B3DBC6F268E</PaymentID>
<ServiceID>SERVICE1</ServiceID>
<TotalAmount>321.00</TotalAmount>
</confirmation>
</ConfirmOrderPayment>
</s:Body>
</s:Envelope>
Page | 27 of 28
MPay Integration Guide
Reply:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="uuid-6e662454-9946-45ec-9346-eb213f9bac92-2">
<u:Created>2013-08-12T05:24:25.578Z</u:Created>
<u:Expires>2013-08-12T05:29:25.578Z</u:Expires>
</u:Timestamp>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>L41Owi7n0DjiORvo/aMpYbSQXHo=</DigestValue>
</Reference>
<Reference URI="#uuid-6e662454-9946-45ec-9346-eb213f9bac92-2">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>d00O1f5pMDJy7W2hRqYDAjo7bMs=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>fbTRxM2A8FwXi6DwMqRxiBeuVpS7FYS9t5Gzzc5pHsYtGZq9sO1Ya9pNcWsOHpt/a2yHs9lAD0C
yoECZ9YOU+lrETB9vD9Twv0PwZbuZxYAObV4xPVXQaOxnbBqarQIgS2wt7eN0WC20m0ShW8VXwnVFXF7Yhw6PfbFFoO
1teJK3bULYp38oQXKbZWWaGXyG1BrTugC+4usSWqKzfzkgQOUAtyZ8KWzx76kWpfNfqMnzix9+EcOl/UFcTJUQf+Syh
QuDHAn6bJyyPQx48uTvvCc8pR5SN15arGtz7QKHGpkNExTGTRcZz7kRmAkWEEOGCh4O8a9pMIJETZnkcJrO4w==</Si
gnatureValue>
<KeyInfo>
<o:SecurityTokenReference>
<X509Data>
<X509IssuerSerial>
<X509IssuerName>CN=MPaySampleRootCA</X509IssuerName>
<X509SerialNumber>-
62593173075056624188289871685237271978</X509SerialNumber>
</X509IssuerSerial>
</X509Data>
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
</s:Header>
<s:Body u:Id="_1">
<ConfirmOrderPaymentResponse xmlns="https://mpay.gov.md" />
</s:Body>
</s:Envelope>
Page | 28 of 28