Monnos Business - Payment Widget API (1.4.0)

Download OpenAPI specification:Download

These are the current list of public endpoints for interacting with our systems to create and manage invoices in a simplified way. This API is intended to be used by our partners, find out more at https://monnos.com/business/.

The current endpoints are:

  • Production: https://api.pay.monnos.com
  • Development: https://staging.api.pay.monnos.com

More advanced endpoints and granular control are in the works. If you have any suggestions, feedback or custom necessities, feel free to enter in contact with us at https://help.monnos.com/.

Simplified Integration - Widget

These endpoints are used to create invoices in a simplified way, without the need to use our dashboard. It'll result on the creation of an invoice that can be paid end-to-end through our provided widget.

Creates a new invoice.

Authorizations:
PublicKey
Request Body schema: application/json
amount
number <double>

The amount of the invoice, in the currency specified by the invoice. ("BRL" by default)

disableCommunications
boolean
Default: false

Whether or not to disable communications with the payer. If set to true, the payer will not receive any emails regarding the invoice.

payerEmail
string <email>

The email of the payer, if not specified, the payer will be prompted to enter it if paying with crypto.

paymentMethodKind
string
Enum: "CRYPTO" "PIX" "LN"

The kind of payment method to be used to pay the invoice. If not specified, the payer will be prompted to choose one when paying. (Mutually exclusive with paymentMethodId)

paymentMethodId
string

The ID of the payment method to be used to pay the invoice. If not specified, the payer will be prompted to choose one when paying. (Mutually exclusive with paymentMethodKind)

object
Default: {"callbackUrl":null,"successCallbackUrl":null,"failureCallbackUrl":null,"eventCallbackUrl":null}

Currently disabled, coming real soon.

metadata
object
Default: {}

The invoice metadata, used to store custom information about the invoice. Can be used to store custom information about the invoice, will be sent on every callback and persisted alongside the main invoice data.

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "disableCommunications": false,
  • "payerEmail": "user@example.com",
  • "paymentMethodKind": "CRYPTO",
  • "paymentMethodId": "string",
  • "callbacks": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": {
    }
}

Gets the list of invoices.

Returns a paginated listed of all invoices, can also filter by specific statuses.

Authorizations:
PublicKey
query Parameters
page
number <integer>

The desired page to retrieve

size
number <integer>

The number of elements to be retrieved in each page

sort
string
Enum: "desc" "asc"

The sorting direction (affects paging)

orderBy
string
Enum: "created" "amount"

The field to sort the selection (affects paging)

status
string
Enum: "CREATED" "PENDING" "PROCESSING" "CANCELED" "COMPLETED" "REFUND_ISSUED" "REFUNDED" "FAILED_REFUND"

Filters only invoices of a given status (affects paging). Can filter multiple statuses at once, just add all status want separated by commas, as an example: CREATED,PENDING,PROCESSING.

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": {
    }
}

Gets the invoice information.

path Parameters
invoiceId
required
string

The invoice ID, used to identify the invoice in question.

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": {
    }
}

Creates an invoice from a static ID (pre-authorized key for issuing new invoices without authentication).

path Parameters
staticId
required
string
Request Body schema: application/json
amount
number <double>

The amount of the invoice, in the currency specified by the invoice. ("BRL" by default)

disableCommunications
boolean
Default: false

Whether or not to disable communications with the payer. If set to true, the payer will not receive any emails regarding the invoice.

payerEmail
string <email>

The email of the payer, if not specified, the payer will be prompted to enter it if paying with crypto.

paymentMethodKind
string
Enum: "CRYPTO" "PIX" "LN"

The kind of payment method to be used to pay the invoice. If not specified, the payer will be prompted to choose one when paying. (Mutually exclusive with paymentMethodId)

paymentMethodId
string

The ID of the payment method to be used to pay the invoice. If not specified, the payer will be prompted to choose one when paying. (Mutually exclusive with paymentMethodKind)

object
Default: {"callbackUrl":null,"successCallbackUrl":null,"failureCallbackUrl":null,"eventCallbackUrl":null}

Currently disabled, coming real soon.

metadata
object
Default: {}

The invoice metadata, used to store custom information about the invoice. Can be used to store custom information about the invoice, will be sent on every callback and persisted alongside the main invoice data.

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "disableCommunications": false,
  • "payerEmail": "user@example.com",
  • "paymentMethodKind": "CRYPTO",
  • "paymentMethodId": "string",
  • "callbacks": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": {
    }
}

Custom Integration - Transparent Flow

These endpoints are used to create invoices and execute the payment in a customized way, developing your own flows and UI for the payment process, giving the liberty to adjust the behaviors to best suit your business' needs.

Creates a new invoice.

Authorizations:
PublicKey
Request Body schema: application/json
amount
number <double>

The amount of the invoice, in the currency specified by the invoice. ("BRL" by default)

disableCommunications
boolean
Default: false

Whether or not to disable communications with the payer. If set to true, the payer will not receive any emails regarding the invoice.

payerEmail
string <email>

The email of the payer, if not specified, the payer will be prompted to enter it if paying with crypto.

paymentMethodKind
string
Enum: "CRYPTO" "PIX" "LN"

The kind of payment method to be used to pay the invoice. If not specified, the payer will be prompted to choose one when paying. (Mutually exclusive with paymentMethodId)

paymentMethodId
string

The ID of the payment method to be used to pay the invoice. If not specified, the payer will be prompted to choose one when paying. (Mutually exclusive with paymentMethodKind)

object
Default: {"callbackUrl":null,"successCallbackUrl":null,"failureCallbackUrl":null,"eventCallbackUrl":null}

Currently disabled, coming real soon.

metadata
object
Default: {}

The invoice metadata, used to store custom information about the invoice. Can be used to store custom information about the invoice, will be sent on every callback and persisted alongside the main invoice data.

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "disableCommunications": false,
  • "payerEmail": "user@example.com",
  • "paymentMethodKind": "CRYPTO",
  • "paymentMethodId": "string",
  • "callbacks": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": {
    }
}

Gets the list of invoices.

Returns a paginated listed of all invoices, can also filter by specific statuses.

Authorizations:
PublicKey
query Parameters
page
number <integer>

The desired page to retrieve

size
number <integer>

The number of elements to be retrieved in each page

sort
string
Enum: "desc" "asc"

The sorting direction (affects paging)

orderBy
string
Enum: "created" "amount"

The field to sort the selection (affects paging)

status
string
Enum: "CREATED" "PENDING" "PROCESSING" "CANCELED" "COMPLETED" "REFUND_ISSUED" "REFUNDED" "FAILED_REFUND"

Filters only invoices of a given status (affects paging). Can filter multiple statuses at once, just add all status want separated by commas, as an example: CREATED,PENDING,PROCESSING.

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": {
    }
}

Gets the invoice information.

path Parameters
invoiceId
required
string

The invoice ID, used to identify the invoice in question.

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": {
    }
}

Creates an invoice from a static ID (pre-authorized key for issuing new invoices without authentication).

path Parameters
staticId
required
string
Request Body schema: application/json
amount
number <double>

The amount of the invoice, in the currency specified by the invoice. ("BRL" by default)

disableCommunications
boolean
Default: false

Whether or not to disable communications with the payer. If set to true, the payer will not receive any emails regarding the invoice.

payerEmail
string <email>

The email of the payer, if not specified, the payer will be prompted to enter it if paying with crypto.

paymentMethodKind
string
Enum: "CRYPTO" "PIX" "LN"

The kind of payment method to be used to pay the invoice. If not specified, the payer will be prompted to choose one when paying. (Mutually exclusive with paymentMethodId)

paymentMethodId
string

The ID of the payment method to be used to pay the invoice. If not specified, the payer will be prompted to choose one when paying. (Mutually exclusive with paymentMethodKind)

object
Default: {"callbackUrl":null,"successCallbackUrl":null,"failureCallbackUrl":null,"eventCallbackUrl":null}

Currently disabled, coming real soon.

metadata
object
Default: {}

The invoice metadata, used to store custom information about the invoice. Can be used to store custom information about the invoice, will be sent on every callback and persisted alongside the main invoice data.

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "disableCommunications": false,
  • "payerEmail": "user@example.com",
  • "paymentMethodKind": "CRYPTO",
  • "paymentMethodId": "string",
  • "callbacks": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": {
    }
}

Gets the available payment methods.

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": [
    ]
}

Updates the email for an invoice.

path Parameters
invoiceId
required
string
Request Body schema: application/json
email
string <email>

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": { }
}

Updates the amount for an invoice.

path Parameters
invoiceId
required
string
Request Body schema: application/json
amount
number

Responses

Request samples

Content type
application/json
{
  • "amount": 0
}

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": { }
}

Initiates a payment for an invoice with a specific payment method.

path Parameters
invoiceId
required
string
paymentMethodId
required
string

Responses

Response samples

Content type
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "errors": null,
  • "response": {
    }
}