MobilePay Invoice

Overview

Invoice issuers

API endpoint reference

InvoiceDirect

InvoiceLink

Cancel invoice

Get invoice details

Get invoice status

User consent for InvoiceDirect

Error codes

Validations

Callbacks

Visual examples

Release Notes

Invoice 1.4

Invoice 1.4 Release Notes

New feature: User consent for InvoiceDirect. Read more about user consent for InvoiceDirect here

Goal of this functionality is for invoice issuer to ask users phone number and consent to receive Invoices directly to MobilePay (InvoiceDirect). Current release is just in Sandbox. Release in Production is planned for beginning of August. App version from which functionality can work for users - 4.24.0 (July).

23 april 2020 - ConsumerName and ConsumerAddressLines now optional

Removed Required validation for ConsumerName and ConsumerAddressLines

17 february 2020 - Increased max number of invoices to one user

Increased the max number of invoices per day merchants can send to one user. Now merchants can send up to 10 invoices to one user.

17 february 2020 - Removed Merchant daily Invoice limit

Daily invoice Limit for merchants was removed.

16 january 2020 - Increased Invoice FI amount

Invoice FI Amount validation was increased to 2000 EUR

08 november 2019 - Removed consumer name validation

ConsumerName validation (Levenshtein rule) was removed from InvoiceDirect validation rules. However, it is still used for displaying ConsumerName when generating invoice PDF.

06 august 2019 - Response Code

The response codes for invoices have been unified. Batch requests now return 202 , all others should now return 200 If your system logic examines the concrete response code and checks strict the status code, you may have to change the logic in order to cope with the change in response code. We do not consider this a breaking chance, as most merchants only check if the call was a success such as 2xx, and do not depend on a concrete status code. However, having the right HTTP status codes mapped also enables you to get more insight around the response received.

01 april 2019 - decimals

TotalVATAmount can not have more than two decimals.

01 march 2019 - QR code

New feature: Scanning QR code with InvoiceLink will open MobilePay Invoice

We’re excited to announce, that MobilePay’s own QR code reader can now read a QR code, that contains InvoiceLink. Read more about InvoiceLink here

Provide your own PDF for invoice

Currenlty, PDF file of the invoice is generated internally by MobilePay. With release of Invoice 1.4 merchants now have a possibility to provide the URL to their own PDF file.

If you create an invoice with InvoiceUrl parameter filled in, user will be redirected to the URL from the app when showing an invoice, otherwise the previous flow of showing PDF generated by MobilePay internally will apply.

The following endpoints will be extended to accept an optional InvoiceUrl parameter:

POST api/v1/merchants/{merchantId}/invoices
POST api/v1/merchants/{merchantId}/invoices/batch
POST api/v1/merchants/{merchantId}/invoices/link
POST api/v1/merchants/{merchantId}/invoices/link/batch
Input
Parameter Type Description
InvoiceUrl       string URL to the Invoice PDF provided by merchant.
Note: Only HTTPS scheme URLs will be supported.
Create Invoice Direct example
{
  "InvoiceIssuer": "efd08c19-24cf-4833-a4a4-bfa7bd58fbb2",
  "ConsumerAlias": {
    "Alias": "+4577007700",
    "AliasType": "Phone"
  },
  "ConsumerName": "Consumer Name",
  "TotalAmount": 360,
  "TotalVATAmount": 72,
  "CountryCode": "DK",
  "CurrencyCode": "DKK",
  "ConsumerAddressLines": [
    "Paradisæblevej 13",
    "CC-1234 Andeby", 
    "WONDERLAND"
  ],
  "DeliveryAddressLines": [
    "Østerbrogade 120",
    "CC-1234 Andeby",
    "WONDERLAND"
  ],
  "InvoiceNumber": "301",
  "IssueDate": "2018-02-12",
  "DueDate": "2018-03-12",
  "OrderDate": "2018-02-05",
  "DeliveryDate": "2018-02-10",
  "Comment": "Any comment",
  "MerchantContactName": "Snowboard gear shop",
  "MerchantOrderNumber": "938",
  "BuyerOrderNumber": "631",
  "PaymentReference": "186",
  "InvoiceArticles": [
    {
      "ArticleNumber": "1-123",
  "ArticleDescription": "Process Flying V Snowboard",
      "VATRate": 25,
      "TotalVATAmount": 72,
      "TotalPriceIncludingVat": 360,
      "Unit": "1",
      "Quantity": 1,
      "PricePerUnit": 288,
      "PriceReduction": 0,
      "PriceDiscount": 0,
      "Bonus": 5
    }      
  ],
  "InvoiceUrl": "https://www.merchant.dk/invoice/efd08c19-24cf-4833-a4a4-bfa7bd58123"
}
{
  "InvoiceIssuer": "efd08c19-24cf-4833-a4a4-bfa7bd58fbb2",
  "ConsumerAlias": {
    "Alias": "+4577007700",
    "AliasType": "Phone"
  },
  "ConsumerName": "Consumer Name",
  "TotalAmount": 360,
  "TotalVATAmount": 72,
  "CountryCode": "DK",
  "CurrencyCode": "DKK",
  "ConsumerAddressLines": [
    "Paradisæblevej 13",
    "CC-1234 Andeby", 
    "WONDERLAND"
  ],
  "DeliveryAddressLines": [
    "Østerbrogade 120",
    "CC-1234 Andeby",
    "WONDERLAND"
  ],
  "InvoiceNumber": "301",
  "IssueDate": "2018-02-12",
  "DueDate": "2018-03-12",
  "OrderDate": "2018-02-05",
  "DeliveryDate": "2018-02-10",
  "Comment": "Any comment",
  "MerchantContactName": "Snowboard gear shop",
  "MerchantOrderNumber": "938",
  "BuyerOrderNumber": "631",
  "PaymentReference": "186",
  "InvoiceArticles": [
    {
      "ArticleNumber": "1-123",
      "ArticleDescription": "Process Flying V Snowboard",
      "VATRate": 25,
      "TotalVATAmount": 72,
      "TotalPriceIncludingVat": 360,
      "Unit": "1",
      "Quantity": 1,
      "PricePerUnit": 288,
      "PriceReduction": 0,
      "PriceDiscount": 0,
      "Bonus": 5
    }      
  ],
  "InvoiceUrl": "https://www.merchant.dk/invoice/efd08c19-24cf-4833-a4a4-bfa7bd58124"
}