Partial Authorization

Overview

Partial authorization lets the issuing bank approve part of a requested amount, instead of declining the whole transaction, when the cardholder's available balance is too low.

For example, a cardholder tries to deposit EUR 100 but has only EUR 63 available. Without partial authorization, the issuer declines the transaction and the deposit is lost. With partial authorization, the issuer can approve EUR 63 and you can credit the cardholder's account with that amount.

The issuing bank alone decides whether to return a partial approval and for what amount. Paynetics does not set or influence the approved amount.

Availability

Partial authorization is available for e-commerce transactions submitted through the Paynetics Acquiring API.

Item

Scope

Card schemes

Visa and Mastercard

Region

EEA and United Kingdom

Channel

Acquiring API, e-commerce only (not available through the Paynetics Payment Page)

Transaction types

Pre-authorization and Purchase

Primary use case

Gambling account funding (MCC 7995)

Activation

Opt-in, enabled per MID by Paynetics

Partial authorization is not enabled by default. Other business models can be assessed case by case. It suits merchants for whom a lower amount than requested is still a complete, useful transaction, such as account top-ups. It does not suit fixed-price goods, where a partial payment cannot fulfil the order. Contact your Paynetics account manager to discuss eligibility.

How it works

You do not need to change your request. There is no new request field and no flag to send. Once partial authorization is enabled for your MID, the partial approval indicator is added to the authorization request automatically.

The only change is in the response. response_code can now return 10, and the amount field then carries the approved amount instead of the requested amount. The response structure is otherwise identical to today.

response_code

Meaning

What to do

00

Full approval. amount equals the amount you requested.

Continue as today.

10

Partial approval. The transaction is successful, and amount is lower than the amount you requested.

Treat as approved for the amount in amount. Do not treat it as a decline and do not ask the cardholder to retry.

51

Declined for insufficient funds. The issuer did not return a partial approval.

Handle as a standard decline.

Any other value

Unchanged from today.

Handle as you do today.

The amount you originally requested is stored as requested_amount on the transaction record. You can read it through GET /v1/transactions/{token} and GET /v1/transactions/{page}/{limit}. It is also shown in the Partner Portal, in the acquiring transactions table and export, next to amount. For full approvals, requested_amount equals amount.

Pre-authorization and Purchase flows

Each MID is set up for either the Pre-authorization model or the Purchase model, never both. The follow-up options after a partial approval depend on that model.

Pre-authorization

Purchase

Capture

Separate step, sent by you

Automatic, the approved amount is captured immediately

Cardholder accepts or rejects

Supported: capture to accept, reversal to reject

Not supported

Reversal

Available

Not available

Refund

Available after capture

The only way to return funds

Pre-authorization

  1. Send the pre-authorization request (POST /v1/pre-authorization/{init}) as today, for example for EUR 100.

  2. The response returns response_code = 10 and amount = 63.00.

  3. Show the cardholder the approved amount and let them accept or cancel.

  4. If the cardholder accepts, send a capture (POST /v1/capture/{transaction}) for up to the approved amount, then credit their account.

  5. If the cardholder cancels, or you cannot complete the deposit, send a reversal (POST /v1/reversal/{transaction}). The reversal releases the approved amount. No amount is sent.

Purchase

  1. Send the purchase request as today.

  2. The response returns response_code = 10 and the approved amount in amount. The approved amount is already captured.

  3. Credit the cardholder's account with the approved amount.

  4. If funds must be returned, send a refund (POST /v1/refund/{transaction}). Reversal is not available for Purchase.

Capture and refund limits

  • A capture cannot exceed the approved amount. A capture for the originally requested amount is rejected.

  • A capture for less than the approved amount is allowed.

  • A refund cannot exceed the refundable amount, which for a partial approval is the approved amount. Partial refunds are allowed.

  • A refund of a pre-authorization that was reversed and never captured is rejected.

Fields reference

No request fields are added. These are the response and transaction fields to read for partial authorization.

Field

Where

Description

data.response_code

Authorization response

10 means partial approval. 00, 10 and 85 are all successful outcomes.

data.amount

Authorization response

The amount actually authorized. On a partial approval, this is lower than the amount you requested. Use this amount for capture, crediting and refunds.

data.transaction

Authorization response

Transaction token, used for capture, reversal and refund.

requested_amount

Transaction record (GET /v1/transactions/...)

The amount you originally requested. Equals amount for full approvals.

Example: partial approval on a pre-authorization

Request (unchanged):

JSON
{
  "merchant": "df1f946a-8b03-4a21-8eb7-dab86a77a027",
  "amount": 100.00,
  "currency": "EUR",
  "card_number": "4111111111111111",
  "cardholder_name": "John Smith",
  "card_expiration_month": "09",
  "card_expiration_year": "27",
  "cvv2": "123"
}

Response:

JSON
{
  "code": 0,
  "data": {
    "response_code": "10",
    "auth_code": "007680",
    "transaction": "d428a647-12db-43f9-900c-c5f0779beb67",
    "retrieval_reference_number": "608411748868",
    "stan": "748868",
    "amount": 63.00,
    "currency": "978",
    "card_number": "411111XXXXXX1111"
  }
}

The response is shortened for readability. All standard response fields are returned as today.

Your responsibilities

You own the cardholder experience and the follow-up actions after a partial approval.

  • Inform the cardholder. Show both the requested amount and the approved amount, for example: "Only EUR 63 is available on your card. Do you want to proceed with this amount?" Do not adjust the amount silently. Clear messaging reduces confusion and disputes.

  • Credit only the approved amount. Never credit or capture the originally requested amount.

  • Release unused holds. For pre-authorizations, send a reversal whenever a partial approval will not be completed. Paynetics does not reverse abandoned pre-authorizations automatically.

  • Keep your existing controls. Partial authorization does not replace your deposit limits, responsible gambling checks or fraud controls.

Situations to handle

Situation

What to do

The cardholder rejects the approved amount

Pre-authorization: send a reversal. Purchase: send a refund.

Your session times out after a partial approval

Pre-authorization: send a reversal to release the hold.

Crediting the cardholder's account fails

Pre-authorization: send a reversal. Purchase: send a refund.

Your platform cannot process partial amounts

Reverse the pre-authorization immediately, and do not request activation until your platform is ready.

The cardholder retries repeatedly after partial approvals

Apply your velocity and risk rules. Repeated retries can create several holds on the card.

The issuer returns 51 instead of 10

Handle as a standard decline. Issuers are not obliged to return partial approvals.

Before going live

  • Your integration treats response_code 10 as a successful partial approval.

  • Your integration reads the approved amount from amount and uses it for crediting, capture and refunds.

  • Your cashier shows the approved amount and handles accept and cancel.

  • Reversal and refund flows are tested for partially approved transactions.

  • End-to-end tests are completed in the sandbox.

How to enable partial authorization

  1. Contact your Paynetics account manager and name the MIDs you want to enable.

  2. Paynetics reviews the request against your business model.

  3. Confirm that your integration handles partial approvals, using the checklist above.

  4. Paynetics enables partial authorization on the approved MIDs and confirms when it is active.

FAQ

Do I need to change my API request? No. Your request stays the same. Only the response can now contain response_code 10.

Will this break my existing integration? No. No response fields are added or removed. Only the possible values of response_code change.

Is a partial approval a decline? No. response_code 10 is a successful transaction for the amount in amount.

Can I capture the full amount I requested? No. A capture can never exceed the approved amount.

What happens if the issuer does not support partial authorization? You receive a standard decline, usually response_code 51, exactly as today.

How are fees and settlement calculated? On the amount actually approved and captured, the same as for any other authorization.

Is partial authorization available on the Payment Page? No. It is available only for e-commerce transactions submitted through the Acquiring API.

esc
↑↓ navigate ↵ open esc close
Copied