Multibanco

Accept payments using Multibanco, a popular payment method in Portugal.

To start accepting Multibanco payments, please contact your customer success manager.

Process a Multibanco payment

Multibanco payments follow a two-step process:

  1. Request a Multibanco payment
  2. Redirect the customer

Step 1: Request a Multibanco payment

The request

Use the details below to set up your request.

Endpoints

Live

https://api.checkout.com/payments

Sandbox

https://api.sandbox.checkout.com/payments

Header parameters

Header
Value

Authorization
Required

secret key

Use the valid secret key of your Checkout.com account. You can find this in the Hub.

Content-Type
Required

application/json

Body parameters

The table below describes the minimum recommended fields. You can find the full list, as well as complete request and response examples, in our API reference.

Field name
Description

amount
Integer
required

The payment amount.

currency
String
required

The three-letter ISO 4217 currency code. Set this to EUR.

source
Object
required

Details about the payment source.

source.type
String
required

The type of payment source. Set this to multibanco.

source.payment_country
String
required

The 2-letter ISO country code of the country in which the payment instrument is issued/operated. Set this to PT.

source.account_holder_name
String
required

The account holder's name.

source.billing_descriptor
String
optional

Information that appears on the customer's billing statement.

Request example

{
  "amount": 100,
  "currency": "EUR",
  "source": {
    "type": "multibanco",
    "payment_country": "PT",
    "account_holder_name": "Bruce Wayne",
    "billing_descriptor": "Multibanco Demo Payment"
  }
}

The response

If you receive a 202 Success response with a status field set to Pending, your request was successful.

Response example

{
  "id": "pay_cdv64cky2neeljlss37yjpofzu",
  "status": "Pending",
  "customer": {
    "id": "cus_ezuq5ju3ln4udgaz6joebp3p44"
  },
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/payments/pay_cdv64cky2neeljlss37yjpofzu"
    },
    "redirect": {
      "href": "https://r.girogate.de/ti/simmultibanco?tx=512308296&rs=y5XBJFK6UF0R7gcn4lcQlbtc5wD2ppQ1&cs=058d2f4cecebaf97933ac9fb465a517ab84395eca459900105526a823460a90a"
    }
  }
}

Step 2: Redirect the customer

Redirect your customer to the redirect link’s href in the response. The customer will be redirected to a Multibanco page where they can authorize the payment, before being transferred to your predefined success or failure URL.

Get details about a Multibanco payment

You can use the payment_id found in the payment response, or the cko-session-id from the success/failure URL (e.g., https://www.checkout.com/order/succeeded?cko-session-id=sid_vii64oquze5u3h2x6hh4rurc4y) to retrieve details about the payment.

The cko-session-id expires 15 minutes after being created.

The request

Use the details below to set up your request.

Endpoint

Live

GEThttps://api.checkout.com/payments/{payment_id}

Sandbox

GEThttps://api.sandbox.checkout.com/payments/{payment_id}

Header and path parameters

Header
Value

Authorization
Required

secret key

Use the valid secret key of your Checkout.com account. You can find this in the Hub.

Content-Type
Required

application/json

Path
Value

payment_id
Required

The payment ID, found in the payment response, or the session ID from the success/failure URL.

The response

Response example

{
  "id": "pay_cdv64cky2neeljlss37yjpofzu",
  "requested_on": "2019-09-25T06:05:22Z",
  "source": {
    "type": "multibanco",
    "service_supplier_id": "11854",
    "payment_reference": "999999919"
  },
  "amount": 100,
  "currency": "EUR",
  "payment_type": "Regular",
  "status": "Captured",
  "approved": true,
  "risk": {
    "flagged": false
  },
  "customer": {
    "id": "cus_ezuq5ju3ln4udgaz6joebp3p44"
  },
  "actions": [
    {
      "id": "act_n7qvjkcqgvlutongpq7vxshauy",
      "type": "Capture",
      "response_code": "10000",
      "response_summary": "Approved"
    }
  ],
  "_links": {
    "self": {
      "href": "https://api.sandbox.checkout.com/payments/pay_cdv64cky2neeljlss37yjpofzu"
    },
    "actions": {
      "href": "https://api.sandbox.checkout.com/payments/pay_cdv64cky2neeljlss37yjpofzu/actions"
    },
    "refund": {
      "href": "https://api.sandbox.checkout.com/payments/pay_cdv64cky2neeljlss37yjpofzu/refunds"
    }
  }
}

Testing Multibanco

To start testing, you'll need to:

  • create a test account, and
  • contact your customer success manager or integrations engineer to activate Multibanco payments in the sandbox environment.
  1. Create a Multibanco transaction as above, following the redirect link in the response to Multibanco's website.

  2. Select Multibanco.

  3. Click Pay now. You will be redirected to the Multibanco Simulator.

  4. Leave the Pin field blank and click Make Payment.

  5. Click Back to where you came from to be redirected to your predefined success URL.

Can we help?

Thanks for using Checkout.com. If you need help or have a question, message our support team at support@checkout.com.

Multibanco


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.