marcopolo Online payment
Sign up

1. Introduction

Our platform returns for many of the API calls the status of your request. This covers both requests for creating a new transaction or for getting the current status of an already existing transaction.
In most cases, our platform returns an object containing three (nested) properties describing all possible scenarios in a human-readable form:

Property Description
status The current high-level status of the payment.
statusCategory Detailed information about the high-level status, containing instructions and/or possible reasons explaining the current high-level status.
statusCode Numeric representation of the transaction status.

Check out the following chapter to learn more about these return values and what they mean.

2. Understand human-readable return values

To be on top of your transactions, it is important to understand the exact meaning of these human-readable return values. Depending on the respective API call and the transaction status, they tell you everything you need to know about the transaction’s status, errors and possible follow-up actions.

Property "status"

The following values apply for these API calls, webhooks and properties

Possible values Description
CREATED The transaction has been created and is still in a pending status. This is the initial status for any new transaction request on our platform.
CANCELLED The transaction/authorisation has been cancelled by either your customer or yourself.
REJECTED The authorisation/refund request has been rejected by the acquirer.
REJECTED_CAPTURE The capture request has been rejected by the acquirer.
REDIRECTED You have redirected your customer:
  • to her/his issuer for a 3-D Secure check (applicable for Hosted Tokenization Page or Server-to-server integration mode) or we have not received the 3-D Secure check result yet.
  • to the payment portal of a third party or we have not received a transaction result from this third party yet.
PENDING_CAPTURE Your authorisation request was successful, but you still need to capture it to receive the funds.
AUTHORIZATION_REQUESTED Our platform is processing your authorisation request and waiting for the result. As soon as we have received the result, we will update the status to either “REJECTED” or “PENDING_CAPTURE” accordingly.
CAPTURE_REQUESTED Our platform is processing your capture request and waiting for the result. As soon as we have received the result, we will update the status to either “REJECTED_CAPTURE” or “CAPTURED” accordingly.
CAPTURED Your capture request (“CAPTURE_REQUESTED”) has been successful. You can expect to receive the funds for this transaction from your acquirer.
REFUND_REQUESTED Our platform is processing your refund request and waiting for the result. As soon as we have received the result, we will update the status to either “REJECTED” or “REFUNDED” accordingly.
REFUNDED

Your refund request (“REFUND_REQUESTED”) has been successful. You customer can expect to receive the funds for this transaction from her/his issuers.

Mind that for API call GetHostedCheckoutStatus different values apply for this property. Check them out in the dedicated chapter.

Property "statusOutput.statusCategory"

The following values apply for these API calls, webhooks and properties

Possible values Description
CREATED The transaction has been created and is still in a pending status. This is the initial status for any new transaction request on our platform.
UNSUCCESSFUL Your authorisation/capture/refund request has been unsuccessful.
PENDING_PAYMENT You are waiting for either:
  • the final result of a transaction in status="CREATED"
  • the result of a 3-D Secure check of a transaction in status="REDIRECTED"
PENDING_MERCHANT This transaction is a pending status because either:
  • You still need to capture it due to its status="PENDING_CAPTURE"
  • You are waiting for a final result for transactions in status="CANCELLED"
PENDING_CONNECT_OR_3RD_PARTY We are waiting for a final result for your authorisation/capture/refund request.
REFUNDED Your refund request has been successful.
COMPLETED Your direct sale request has been successful.

Mind that for API call GetHostedCheckoutStatus different values apply for this property. Check them out in the dedicated chapter.

Property "statusOutput.statusCode"

The following values apply for these API calls, webhooks and properties.
Check out our dedicated chapter about the meaning of the numeric status for these API calls and properties:

Property "status"(GetHostedCheckoutStatus)

The following values apply for exclusively for API call/property “status” (GetHostedCheckoutStatus):

Possible values Description
PAYMENT_CREATED The transaction has been created and is still in a pending status. This is the initial status for any new transaction request on our platform.
IN_PROGRESS Your customer has not finalised
  • the purchase on the Hosted Checkout Page or the third party payment provider’s portal (i.e. PayPal) yet
  • the 3-D Secure check at her/his issuer's site yet
CANCELLED_BY_CONSUMER Your customer has cancelled the purchase on the Hosted Checkout Page by clicking on the "Cancel" button

Property "createdPaymentOutput.paymentStatusCategory" (GetHostedCheckoutStatus)

The following values apply for exclusively for API call/property “status” (GetHostedCheckoutStatus):

Possible values Description
SUCCESSFUL Your customer has finalised the purchase on the Hosted Checkout Page or the third party payment provider’s portal (i.e. PayPal)
REJECTED Your customer has finalised the purchase on the Hosted Checkout Page or the third party payment provider’s portal (i.e. PayPal), resulting in an unsuccessful authorisation/capture
STATUS_UNKNOWN Your customer has not finalised
  • the purchase on the Hosted Checkout Page or the third party payment provider’s portal (i.e. PayPal) yet
  • the 3-D Secure check at her/his issuer's site yet

3. Understand possible outcomes

Every API call providing feedback has a specific range of possible values. Have a look at the possible property value combinations per API call:

GetPaymentDetails/CreatePayment

status / payment.status payment.statusOutput / statusOutput
statusCategory statusCode
CREATED CREATED 0
CANCELLED UNSUCCESSFUL 1/6/61/62/64/75/96
REJECTED UNSUCCESSFUL 2/57/59/73/83
REJECTED_CAPTURE UNSUCCESSFUL 93
REDIRECTED PENDING_CONNECT_OR_3RD_PARTY 46
PENDING_CAPTURE PENDING_MERCHANT 5/56
AUTHORIZATION_REQUESTED PENDING_CONNECT_OR_3RD_PARTY 50/51/55
CAPTURED COMPLETED 9

GetHostedCheckoutStatus

status createdPayment
Output.
paymentStatusCategory

createdPaymentOutput.
payment.status

createdPaymentOutput.payment.
statusOutput

statusCategory statusCode
PAYMENT_CREATED REJECTED CREATED CREATED 0
CANCELLED UNSUCCESSFUL 1/6/61/62/64/75
REJECTED 2/57/59/73/83
REJECTED_CAPTURE 93
STATUS_UNKNOWN REDIRECTED PENDING_
PAYMENT
0/46
SUCCESSFUL PENDING_CAPTURE PENDING_
MERCHANT
5/56

AUTHORIZATION_
REQUESTED

PENDING_
CONNECT_OR_
3RD_PARTY
50/51/55
CAPTURE_REQUESTED 4/91/92/99
CAPTURED COMPLETED 9
REFUND_REQUESTED REVERSED 81/82
REFUNDED 7/8/85
IN_PROGRESS N/A N/A N/A 0
CANCELLED_BY_CONSUMER N/A N/A N/A 1

RefundPayment/GetRefunds

status statusOutput
statusCategory statusCode
REJECTED UNSUCCESSFUL 73/83
REFUND_REQUESTED PENDING_CONNECT_OR_3RD_PARTY 71/72/81/82
REFUNDED REFUNDED 7/8/85

CapturePayment/GetCapture

status statusOutput.statusCode

REJECTED_CAPTURE 93
CAPTURE_REQUESTED 4/91/92/99

CancelPayment

payment.status payment.statusOutput
statusCategory statusCode
CANCELLED PENDING_MERCHANT 61/62
CANCELLED UNSUCCESSFUL 6

4. Understand numeric status codes

In contrast to statusCategory and status, property statusCode return an integer instead of a string. In conjunction with the string-based properties, statusCode gives you the full picture of the transaction’s status and thereby the right API call to use in any given scenario.

How did I get this transaction status?
  • Your customer initiated a transaction, but abandoned it by closing his browser window.
  • Your customer initiated a transaction, but is not yet done (i.e. the customer is currently entering his credit card data or we are waiting for a response from the acquirer).
What's next?
  • Have a look at our Tips to maximise conversion with your payment page guide to improve your conversion rate!
  • Contact your customer to know more about the abandoned transaction.
  • As soon as the customer has finished entering their card details and we have received a response from the acquirer, we will update the status. Depending on your acquirer's response and the action performed on the transaction (authorisation only vs. authorisation and data capture in one step), we will update the transaction to one of the following statuses:
    • statusOutput.statusCode=2 (Authorisation refused)
    • statusOutput.statusCode=5 (Authorised)
    • statusOutput.statusCode=9 (Payment requested)

How did I get this transaction status?
  • Your customer has cancelled the transaction by hitting the "Cancel" button on the Hosted Checkout Page or in the portal of a third party payment service provider (i.e. PayPal).
What's next?

How did I get this transaction status?

Oops! Your acquirer declined the authorisation due to:

  • Unsuccessful/missing 3-D Secure check by your customer.
  • Your customer does not have enough funds to make the purchase.
  • The MIDs used for the payment method configured in your account is not correctly setup.
  • Your Fraud Prevention module has rejected the transaction due to suspicion of fraud.
What's next?
  • Your customer can retry the authorisation process after selecting another card or another payment method.
  • Contact us to ensure that your MIDs are correctly setup on our platform/at your acquirer.

This is an intermediate status for transactions:

  • for which the 3-D Secure check has yet to begin or is not finished yet.
  • for which your customers have been redirected to a third party (i.e. PayPal, Multibanco, Klarna, Bizum) to complete the payment.
How did I get this transaction status?
  • Depending on the integration mode you use, three scenarios are possible leading to this status:
    • Hosted Checkout Page: After entering the card number on our secure payment page, our platform automatically redirects your customer to her/his issuer to perform the 3-D Secure check.
    • Hosted Tokenization Page / Server-to-server: After sending a CreatePayment request with a 3-D Secure enrolled card that triggers a challenge flow, our platform sends a response containing a MerchantAction object. Its property MerchantAction.ActionType=REDIRECT indicates that you have to redirect your customer to her/his issuer.
    • Your customers have been redirected to the payment portal of a third party or we have not received a transaction result from this third party yet.
What's next?
  • If you have sent the request via Hosted Checkout Page, our platform take care of the redirection to the issuer automatically.
  • If you have sent the request via either Hosted Tokenization Page / Server-to-server, proceed as described in our documentation to redirect your customer to her/his issuer.
  • For transactions processed by a third party, our platform will update the transaction to a final status once your customers have completed the payment.
  • Depending on your acquirer's response and the action performed on the transaction (authorisation only vs. authorisation and data capture in one step), we will update the transaction to one of the following statuses:
    • statusOutput.statusCode=2 (Authorisation refused)
    • statusOutput.statusCode=5 (Authorised)
    • statusOutput.statusCode=9 (Payment requested)
  • The transaction will remain in this status until your customer has finished the authentication check/completed the payment on the third party portal. If your customer abandons the 3-D Secure check prematurely (i.e. by closing the browser window), the transaction will remain in statusOutput.statusCode=46 indefinitely.

Congratulations! Your authorisation request has been accepted. The funds have been reserved on your customer's card.

How did I get this transaction status?
  • You have sent property cardPaymentMethodSpecificInput.authorizationMode="FINAL_AUTHORIZATION" / "PRE_AUTHORIZATION" in your CreatePayment/CreateHostedCheckout request.
What's next?
  • Make sure you capture the transaction to collect your funds. We offer multiple ways to do so:
    • Via the Merchant Portal
    • Use the API call CapturePayment
    • Have the transaction automatically captured by our system. Contact us to make sure of this.

      The subsequent status will be statusOutput.statusCode=91 (Payment processing)
  • You can also decide to cancel the authorisation by performing one of the following actions:
    • Via the Merchant Portal
    • Use the API call CancelPayment

      The subsequent status will be statusOutput.statusCode=61 (Author. deletion waiting).

Our fraud team is currently validating your transaction.

How did I get this transaction status?
  • Until the fraud validation is finalised, the transaction will remain in status 50. This process usually takes less than 5 hours to complete.
What's next?
  • This is a temporary status. No further actions are needed. Depending on your acquirer's response and our fraud team's validation, we will update the transaction to one of the following statuses:
    • 2 - Authorisation refused
    • 5 - Authorised
    • 9 - Payment requested

Your authorisation request is temporarily pending. We are waiting for your acquirer's answer.

How did I get this transaction status?

You opted for offline authorisation request and not in real-time.

  • You have configured your account to process transactions offline when the online acquiring system is unavailable or always offline. Contact us if you want to change that.
  • Regardless of the settings described above, certain payment methods are processed offline, which makes this the default result for authorisation requests.
What's next?
  • This is a temporary status. No further actions are needed. Depending on your acquirer's response, we will update the transaction to one of the following statuses:
    • statusOutput.statusCode=2 (Authorisation refused)
    • statusOutput.statusCode=5 (Authorised)

How did I get this transaction status?
  • Oops! A technical problem occurred during the payment authorisation or payment request to your acquirer, leading to an unknown status. The actual result is temporarily unclear.
What's next?
  • As your initial request might have been successful., please do not resend the initial request. This is to avoid double bookings of the same order.
  • Although we will recover the status within a few hours, you may contact your acquirer yourself to learn the actual result.
  • Depending on the value for property cardPaymentMethodSpecificInput.authorizationMode sent in your CreatePayment/CreateHostedCheckout request, we will update the transaction to one of the following statuses:
    • Authorisation / "FINAL_AUTHORIZATION"/"PRE_AUTHORIZATION":
      statusOutput.statusCode=5 (Authorised) or statusOutput.statusCode=2 (Authorisation refused)
    • Direct Sale / "SALE":
      statusOutput.statusCode=9 (Payment requested) or statusOutput.statusCode=2 (Authorisation refused)

How did I get this transaction status?
What's next?
  • This is a final status. No further actions are possible.

How did I get this transaction status?
  • You requested to cancel the authorisation of a transaction. As we are waiting for a response from your acquirer, your transaction is in a pending status.
What's next?
  • This is a temporary status. No further actions are needed.
  • Depending on your acquirer's response, we will update the transaction to one of the following statuses:
    • statusOutput.statusCode=6 (Authorised and cancelled)
    • statusOutput.statusCode=63 (Author. deletion refused)

How did I get this transaction status?
What's next?
  • This is a temporary status. No further actions are needed. Depending on your acquirer's response, we will update the transaction to one of the following statuses:
    • statusOutput.statusCode=6 (Authorised and cancelled)
    • statusOutput.statusCode=63 (Author. deletion refused)
  • Although we will recover the status within a few hours, you can contact your acquirer yourself to learn the actual result.

How did I get this transaction status?
  • Oops! Your acquirer declined your authorisation cancellation request.
  • Be aware that this is the standard response for some acquirers, as they do not process authorisation cancellation requests. Instead of cancelling authorisations they will let them expire.
What's next?
  • This is a final status. No further actions are possible.
  • Please check with the acquirer to learn about the exact reasons for the decline.

How did I get this transaction status?
  • Great! The payment deletion request for a transaction that has just recently received statusOutput.statusCode=9 has been successful.
What's next?
  • This is a final status. No further actions are possible.
  • Thanks to your action, you will prevent the acquirer to effectively payout the funds of the impacted statusOutput.statusCode=9 transaction.

How did I get this transaction status?
  • You requested to delete a payment (a refund request for a transaction that has just recently received statusOutput.statusCode=9). As we are waiting for a response from your acquirer, your transaction is in a pending status.
What's next?
  • This is a temporary status. No further actions needed.
  • Depending on your acquirer's response, we will update the transaction to one of the following statuses:
    • statusOutput.statusCode=7 (Payment deleted)
    • statusOutput.statusCode=73 (Payment deletion refused)

How did I get this transaction status?
  • Oops! A technical problem occurred during your payment deletion request (a refund request for a transaction that has just recently received statusOutput.statusCode=9), leading to an unknown status. The actual result is temporarily unclear.
What's next?
  • This is a temporary status. No further actions are needed. Depending on your acquirer's response, we will update the transaction to one of the following statuses
    • statusOutput.statusCode=7 (Payment deleted)
    • statusOutput.statusCode=73 (Payment deletion refused)
  • Although we will recover the status within a few hours, you can contact your acquirer yourself to learn the actual result.

How did I get this transaction status?
  • Oops! Your acquirer declined your payment deletion request (requesting a refund for a transaction that has just recently received statusOutput.statusCode=9).
What's next?
  • This is a final status. No further actions are possible.
  • Please check with the acquirer to learn about the exact reasons for the decline.

How did I get this transaction status?
What's next?
  • This is a final status. No further actions are possible.

How did I get this transaction status?
  • You requested to refund a payment. As we are waiting from your acquirer for a response to your request, this transaction is in a pending status
What's next?
  • This is a temporary status. No further actions needed.
  • Depending on your acquirer's response, we will update the transaction to one of the following statuses
    • statusOutput.statusCode=8 (Refund)
    • statusOutput.statusCode=83 (Refund refused)

How did I get this transaction status?
  • Oops! A technical problem occurred during your refund request, leading to an unknown status. The actual result is temporarily unclear.
What's next?
  • This is a temporary status. No further actions are needed. Depending on your acquirer's response, we will update the transaction to one of the following statuses
    • statusOutput.statusCode=8 (Refund)
    • statusOutput.statusCode=83 (Refund refused)
  • Although we will recover the status within a few hours, you can contact your acquirer yourself to learn the actual result

How did I get this transaction status?
What's next?
  • The global status of the transaction will remain in statusOutput.statusCode=9 (Payment requested). Therefore, you can retry the operation at a later point. Before you do so, please check with your acquirer why your initial request has been declined to avoid subsequent denials

How did I get this transaction status?
  • The transaction was paid back to the customer due to a chargeback. It is possible a fraudster used the credit card details of the customer.
What's next?
  • This is a final status. No further actions are possible.
  • Consult our Fraud Prevention to prevent chargebacks like this from happening in the future.

Congratulations! Your CreatePayment/CapturePayment request has been successful. The funds will be transferred to your account.

How did I get this transaction status?
  • You have sent a CreatePayment/CreateHostedCheckout request for a new transaction with cardPaymentMethodSpecificInput.authorizationMode="SALE" which has been accepted by your acquirer.
  • You have sent a CapturePayment request for an existing transaction with statusOutput.statusCode=5 or sent CreatePayment request with property cardPaymentMethodSpecificInput.authorizationMode="SALE" for a new transaction.
What's next?

How did I get this transaction status?
  • You requested to confirm an authorisation request. As we are waiting for a response from your acquirer, this transaction is in a pending status.
  • This is the follow-up status of a statusOutput.statusCode=5 (Authorised).
  • The acquirer needs to check whether the initial authorisation can still be captured.
What's next?
  • This is a temporary status. No further actions needed.
  • Depending on your acquirer's response, we will update the transaction to one of the following statuses:
    • statusOutput.statusCode=9 (Payment requested)
    • statusOutput.statusCode=93 (Payment refused)

How did I get this transaction status?
  • Oops! A technical problem occurred during your authorisation/payment request, leading in an unknown status. The actual result is temporarily unclear.
What's next?
  • This is a temporary status. No further actions needed.
  • As your initial request might have been successful., please do not resend the initial request. This is to avoid double bookings of the same order.
  • Depending on your acquirer's response, we will update the transaction to one of the following statuses:
    • statusOutput.statusCode=9 (Payment requested)
    • statusOutput.statusCode=93 (Payment refused)
  • Although we will recover the status within a few hours, you can contact your acquirer yourself to learn the actual result.

How did I get this transaction status?
What's next?
  • The global status of the transaction will remain in statusOutput.statusCode=5. Therefore, you can retry the operation at a later point. Before you do so, please check with your acquirer why your initial request has been declined to avoid subsequent denials.

How did I get this transaction status?
  • This is a temporary status which appears only when the status transition from one status to another is interrupted.
What's next?
  • This is a temporary status. No further actions are needed.
  • If you have transactions that remain in this status for more than than 5 minutes please contact us.

Was this page helpful?

Do you have any comments?

Thank you for your response.