Mambu Payment Gateway
  • 13 Dec 2022
  • 9 Minutes To Read
  • Dark
    Light
  • PDF

Mambu Payment Gateway

  • Dark
    Light
  • PDF

Article Summary

The purpose of Payment Order capability is to orchestrate the movement of money between an account in Mambu and an account at a third-party financial institution (both domestic as well as international).

The orchestration includes triggering Payment Execution on the user-specified date, debiting / crediting the account in Mambu (i.e. calling transaction API), storing-and-forwarding the credit / debit instruction for settlement in a third party financial institution via the Mambu Payment Gateway (MPG), that in turn sends it out to Payment Network.

The tools needed to operate the payments functionality are:

  • Mambu UI
  • API development environment (e.g Postman)
  • Mambu Payment Gateway UI

Logging in

Depending on the level of security enabled for your instance you will either log in using regular authentication using just a username and password or multi-factor authentication (MFA) where a one time passcode is sent to a mobile phone number associated with your account. For more information, see User Administration and Audit Trail - Multi-factor authentication.


The navigation menu is located on the left of the page. The navigation menu gives access to the following sections:

  • Incoming - Payment messages received (e.g Payments received from the financial network)
  • Outgoing - Payment messages received (e.g Payments sent to the financial network)
  • Pending - Payment messages that require manual intervention of PG users
  • Configuration - System configurations such as Tenant BIC, AML enabling
  • Security - Users management and audit trail

Incoming / Outgoing


The incoming / outgoing menus are used to monitor received/sent payment messages. When clicking this menu, the user is prompted with two sub-menus:

  • SEPA
  • Alerts

The sub-menu SEPA gives users a view on the incoming / outgoing SEPA messages:

Screenshot 2019-07-24 at 04.59.34

Transactions List


Each row represents one of the following SEPA messages:

  • Pacs.008
  • Pacs.004
  • Pacs.002
  • Camt.056
  • Camt.029

The list provides the following information on a message:

  • System ID
  • Message type
  • Message ID
  • Number of transactions inside a given message
  • Settlement date

Clicking a single row will provide users more information on the payment message:

  • Transaction number
  • Message ID
  • Status
  • Amount
  • Creditor IBAN

Screenshot 2019-07-24 at 05.00.24

By clicking on the arrow of each row the SEPA message (xml) will be seen in full on the detail screen.

The fields displayed are relevant for the end users and provide useful information in case of investigation or customer requests.

List row detail


Clicking a single row will redirect users to the full details of the payment message:
Screenshot 2019-07-24 at 05.02.27

The image above represents a SEPA message (xml) and can be seen in full in this detail screen. For more information, please refer to the European Payments Council's 2019 SEPA Credit Transfer rulebook version 1.2.

The fields displayed are relevant for the end users and provide useful information in case of investigation or customer requests

Please Note
For ISO 20022 fields, the XML Tag is indicated in parentheses.
FieldDescription
Message IDUnique reference generated by the payment engine and used to identify a single message in the system
Message Identification (MsgId)Message reference created by the sender and forwarded in the SEPA message
Message typeThe type of message sent/received e.g pacs.008
Transaction statusStatus of the message assigned by the payment engine after processing: rejected, pending, Sent
Reception dateDate at which the message is received in the payment engine. In search screens, users can enter From and To reception dates
Sending party (InstgAgt)BIC of the sending Bank
Receiving party (InstdAgt)BIC of the receiving Bank
Order statusStatus of the order assigned by the payment engine after processing: rejected, processed, pending, on hold. Order status depends on the status of the message. An order is automatically rejected if the corresponding message is rejected.
Order Category Purpose (PmtTpInf, CtgyPurp)It provides information about the purpose of the order and may trigger special processing. So interesting for the end user
Execution dateDate at which the order is really executed. Requested and real execution dates are the same most of the time.
Order amountAmount of the order
Interbank Settlement Date (IntrBkSttlmDt)The date at which the order / transaction is settled
Interbank Settlement Amount (IntrBkSttlmAmt)Total amount of the transactions contained in the order or message (e.g if pacs.008 has 2 payments of 10 then IntrBkSttlmAmt=20
Debtor name (DbtrNmName of the debtor
Debtor Account DbtrAcct (Debtor IBAN)IBAN of the debtor
Debtor Agent (DbtrAgt)Debtor bank BIC
Beneficiary name (CdtrNm)Beneficiary name
Creditor Agent (CdtrAgt)Beneficiary Bank BIC
Creditor Account (CdtrAcct)IBAN of the beneficiary
Transaction ID (TxId)Unique reference generated by the payment engine and used to identify a single transaction in the system
Interbank Settlement Amount (IntrBkSttlmAmt)This is the transaction amount
End To End Identification (EndToEndId)It is generated by initiating party to unambiguously identify the transaction. Good to have as search criteria since users can easily find a transaction with it
Transaction StatusStatus of the transaction assigned by the payment engine after processing: rejected, processed, pending, on hold. Transaction status depends on the status of the order. A transaction is automatically rejected if the corresponding order is rejected
Original transaction IDThis is available in R-transactions only. It provides for example the transaction ID of the original transaction linked to a return.
Please Note
For more information about these messages, including a complete set of fields, please refer to the 2019 SEPA Credit Transfer rulebook version 1.2 which you can find at the website of the European Payments Council.

Alerts


The sub-menu Alerts, gives users a list of alerts for the SEPA messages. The section provides information on the error so that the user can trigger actions to resolve the issue.

The alerts section can be found both on the outgoing and incoming menus.

Screenshot 2019-07-24 at 05.28.47

Pending


In this section you will see messages that are pending to be sent: either they require manual input before they can proceed the payment flow, such as outgoing returns requests or replying to these return requests positivily or negativily or messages that cannot be sent given the day the messages were generated is a holiday.

Outgoing returns waiting to be accepted or rejected:
image.png

Pending pacs.008 given a payment was sent on an holiday
image.png

Gateway Status


ActionFrom StateTo StatePost-ConditionsNotes
ReceiveN/AReceivedThe bulk credit instruction file (pacs.008) is received-
DebulkReceivedDebulkedThe bulk file is divided into each individual credit transfer instruction-
ReturnReceived / DebulkedReturnedIndividual credit transfer instruction is returned and corresponding pacs.004 file is generated-
SendReturnedSentGenerated pacs.004 file is sent to CSM via Mambu Payment Gateway Webhook-
Send-BulkedPayments are grouped/bulked in a sepa fileIf message doesn't proceed this status please check your webhook settings
SendBulkedSentMessage is available on the outgoing section-

Compliance checks


Incoming AML

Incoming Anti-money laundering (AML) allows banks and other financial institutions to send incoming payment details to the external third party AML provider (AML TPP) so that they can reduce the risk of money laundering with a frictionless flow in the Mambu Payment Gateway.

The MPG sends the transactions details and holds the payment process until it gets an AML result to the payments sent. The screening of a payment on the AML TPP can generate three types of results:

  • Accepted: No flags were raised on the AML TPP and payment can proceed the flow - crediting the beneficiary.
  • Suspended: Some flags were raised on the AML TPP and further analysis is being run on the AML TPP. The payment must be on hold until either an accepted or rejected is received.
  • Rejected: Payment was tagged on the AML TPP with a AML flag that lead to a rejection. The payment flow is stopped and the beneficiary is not credited.

image.png

Send payment details

	<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02">
   <FIToFICstmrCdtTrf>
      <GrpHdr>
         <MsgId>AML1</MsgId>
         <CreDtTm>2020-01-02T10:40:13</CreDtTm>
         <NbOfTxs>1</NbOfTxs>
         <TtlIntrBkSttlmAmt Ccy="EUR">1</TtlIntrBkSttlmAmt>
         <IntrBkSttlmDt>2020-01-02</IntrBkSttlmDt>
         <SttlmInf>
            <SttlmMtd>CLRG</SttlmMtd>
            <ClrSys>
               <Prtry>ST2</Prtry>
            </ClrSys>
         </SttlmInf>
         <InstgAgt>
            <FinInstnId>
               <BIC>CECAESMMXXX</BIC>
            </FinInstnId>
         </InstgAgt>
         <InstdAgt>
            <FinInstnId>
               <BIC>BTRLRO22</BIC>
            </FinInstnId>
         </InstdAgt>
      </GrpHdr>
      <CdtTrfTxInf>
         <PmtId>
            <InstrId>NOT1</InstrId>
            <EndToEndId>NOT1</EndToEndId>
            <TxId>NOT1</TxId>
         </PmtId>
         <PmtTpInf>
            <SvcLvl>
               <Cd>SEPA</Cd>
            </SvcLvl>
         </PmtTpInf>
         <IntrBkSttlmAmt Ccy="EUR">1</IntrBkSttlmAmt>
         <ChrgBr>SLEV</ChrgBr>
         <Dbtr>
            <Nm>Jane Doe</Nm>
            <PstlAdr>
               <Ctry>ES</Ctry>
            </PstlAdr>
            <Id>
               <OrgId>
                  <Othr>
                     <Id>GFA</Id>
                  </Othr>
               </OrgId>
            </Id>
         </Dbtr>
         <DbtrAcct>
            <Id>
               <IBAN>RO10INGBCBN4EVKASDJ8YNGT</IBAN>
            </Id>
         </DbtrAcct>
         <DbtrAgt>
            <FinInstnId>
               <BIC>CECAESMMXXX</BIC>
            </FinInstnId>
         </DbtrAgt>
         <CdtrAgt>
            <FinInstnId>
               <BIC>BTRLRO22</BIC>
            </FinInstnId>
         </CdtrAgt>
         <Cdtr>
            <Nm>John Doe</Nm>
            <PstlAdr>
               <Ctry>ES</Ctry>
            </PstlAdr>
            <Id>
               <OrgId>
                  <Othr>
                     <Id>V94025590</Id>
                  </Othr>
               </OrgId>
            </Id>
         </Cdtr>
         <CdtrAcct>
            <Id>
               <IBAN>RO71BTRLV67M9G4ASDEJ5D2</IBAN>
            </Id>
         </CdtrAcct>
         <RmtInf>
            <Ustrd>Incoming Payment</Ustrd>
         </RmtInf>
      </CdtTrfTxInf>
   </FIToFICstmrCdtTrf>
</Document>

processAmlResponse

Accepts AML check results for Payment Orders.

{
  "groupHeader": {
    "messageIdentification": "SCTORD200020190305ORD000011122"
  },
  "transactions": [
    {
      "status": "Accepted",
      "paymentIdentification": {
        "transactionIdentification": "00730100631BHGCSDW"
      },
      "debtorAgent": {
        "institutionIdentification": {
          "bicfi": "BTCLYU23"
        }
      },
      "interbankSettlementDate": "2019-06-28T00:00:00.000Z"
    }
  ]
}

Responses

CodeCode DescriptionResult
200OKThe AML check result has been prepared for processing.
400Bad requestValidation error occurred. This code will cover malformed syntax in request or incorrect data in payload.
405Method Not AllowedThis code is only sent when the HTTP method (PUT, POST, DELETE, GET etc.) is not supported on a specific endpoint. It has nothing to do with the consent, payment or account information data model.
415Unsupported Media TypeA media type which the serves does not support has been supplied.
500Internal Server ErrorInternal server error occurred
415Service UnavailableThe server is currently unavailable. Generally, this is a temporary state.
Business fieldBusiness descriptionFormatM/OXML / JSON tagExample
Message IdMessage reference created by the sender and forwarded in the SEPA messagetext{1,35}MmsgId22b8f938c6154877886a0c1fc
Creation Date TimeDate and time at which the message was createddateTimeMcreDtTm2019-05-22T12:24:13
Number of transactionsNumber of transactions in a given requesttext [0-9]{1,15}MnbOfTxs2
BICFinancial Institution Identificationtext [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0]MbicABVRATW1XXX
Instruction IdentificationUnique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.text{1,35}MinstrId82d7125b36014c2e8cc442a3
End To End IdentificationIt is generated by the originator bank to unambiguously identify the transaction.text{1,35}MendToEndIdNOT PROVIDED
Transaction IdentificationIt is generated by the Debtor bank, to unambiguously identify the transaction.text{1,35}MtxId4112f6688c846a89bee2b2c476f1145
Total Interbank Settlement AmountTotal amount of money moved between the originator bank and the beneficiary bank0 <= decimalMvalue100
CurrencyThe currency of the paymenttext[A-Z]{3,3}MccyEUR
Acceptance Date TimePoint in time when the payment order from the initiating party meets the processing conditions of the originator bank. This means that the originator bank has received the payment order and has applied checks such as authorisation, availability of funds, and so on.dateMaccptncDtTm2019-04-11 06:08:45
DebtorParty that owes an amount of money to a beneficiary. Name by which a party is known and which is usually used to identify that party.text{1,140}MnmJohn Doe
Postal AddressInformation that locates and identifies a specific address, as defined by the postal servicestext [A-Z]{2,2}OCtryES
Private IdentificationUnique and unambiguous identification of a person, like passport. Important Note: Either ‘Date and Place of Birth’ or one occurrence of ‘Other’ is allowedText{1,35} if ID or Date/text if DoB and PoBOBirthDtV94025590
Creditor AccountUnambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.text[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}MibanRO75BTRLBSIJS00RPQWYLYWL

Was this article helpful?