No momento, esta página não está disponível em português
Payment-method icon

Multibanco for API only

Add Multibanco to an existing API-only integration.

Accept Multibanco payments using our APIs, and build your own payment form to have full control over the look and feel of your checkout page.

Before you begin

Before starting your Multibanco integration:

  1. Make sure that you have set up your back end implementation.
  2. Add Multibanco in your test Customer Area.

Build your payment form for Multibanco

Include Multibanco in the list of available payment methods. You don't need to collect any information from the shopper in your payment form.

We provide an Multibanco logo which you can use on your payment form. For more information, refer to Downloading logos.

You can also get the required fields from the /paymentMethods response as explained in our API-only integration guide. In your request, specify:

  • countryCode: PT
  • amount.currency: EUR
  • amount.value: The amount of the transaction, in minor units.
    The maximum transaction amount for Multibanco is EUR 2500.

The required fields are included in the object with type multibanco.

Make a payment

  1. In your /payments request, specify the following parameters:
    • paymentMethod.type: multibanco
    • countryCode: PT

The following code sample is a /payments request for a Multibanco payment.


You receive a response containing:

  • expiresAt: The expiry date of the voucher. The shopper needs to make their payment before this date and time.
  • entity: The corresponding entity number.
  • reference: The Multibanco reference that the shopper needs to make the payment.

Present voucher

Use the information in the action object in the /payments response to present the voucher to the shopper.

Multibanco references are valid until the end of the expiry day. For example, if a reference is generated at 13:30 and the expiry date is D+1 (next day), the reference is payable until 23:59 on the next day.

The payment voucher should include the following information:

  • action.expiresAt: The expiry date of the payment voucher. The shopper needs to make the payment before this time. The default expiry is D+3 (three days later) at 11:59PM.
  • action.initialAmount.currency: EUR
  • action.initialAmount.value: The amount the shopper needs to pay.
  • reference: The payment reference that the shopper needs to make the payment.

Present the payment result

Use the resultCode that you received in response to your /payments call to present the payment voucher to your shopper.

The resultCode value you can receive for Multibanco is:

resultCode Description Action to take
PresentToShopper Present the voucher to the shopper. Inform the shopper that you've received their order, and are waiting for the payment to be completed.
When the shopper has completed the payment you will receive a successful AUTHORISATION webhook.

We don't know when the shopper will make the payment. Thus, we will only send the AUTHORISATION webhook once the payment has been received. Once the shopper transfers the funds, we receive the result from the bank, and the transaction status changes to Authorised. If the shopper fails to make the payment before the payment voucher expires, you will receive an OFFER_CLOSED webhook.

Test and go live

Before you can test Multibanco payments, you need to submit a request for Multibanco in your test Customer Area.

In the test environment, you can simulate a Multibanco payment by promoting the pending payment to a sale.

  1. Log in to your test Customer Area.
  2. Go to Transactions > Offers.
  3. Select the PSP reference of the pending Multibanco payment.
  4. Select Promote offer to sale button.

Multibanco payments that have been paid (including test offers that you manually promoted to sale) are under Transactions > Payments.

Test the reconciliation process by promoting test payments from offer to sale in your test Customer Area.

Before you can accept live Multibanco payments, you need to submit a request for Multibanco in your live Customer Area.

See also