For the complete documentation index, see llms.txt. This page is also available as Markdown.

Payment Modifications

Payment modification endpoints act on a transaction that was previously created via Ecom Payments or Alternative Payment Methods. All path-based endpoints require the original {id} from the initiation response.

Not all modification types are supported by every payment method. Refer to the Verifone payment actions documentation to confirm support before calling these endpoints.

Capture Authorization

Captures an authorization hold. Use capture_now: false on initiation to defer capture.

Capture authorization

post
/api/v2/transactions/{id}/capture

Capture an authorization hold on a payment. Check the documentation in order to verify what payment method allows for this payment modification.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Original transaction id to capture.

Example: 76944d4b-89e6-48d2-ac04-675383c3eedf
Body
amountintegerRequired

Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.

Example: 150
purchase_order_numberstring · max: 17Optional

The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme). This field is part of so-called Level 2 data.

tax_indicatorstring · enumOptional

This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data. If the value TAX_PROVIDED is sent, tax_amount should also be provided

Default: TAX_NOT_PROVIDEDPossible values:
receipt_typestring · enumOptional

Defines the type of receipt to be generated

Possible values:
Responses
post
/api/v2/transactions/{id}/capture

Multiple partial captures are supported via multiple_captures.capture_sequence_number and capture_sequence_count. Set final_capture: false until the last partial capture.

Void Authorization

Cancels an authorization hold before capture.

Void authorization

post
/api/v2/transactions/{id}/void

Void/Cancel an authorization hold on a payment. Check the documentation in order to verify what payment method allows for this payment modification.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Original transaction id to cancel / void.

Example: 76944d4b-89e6-48d2-ac04-675383c3eedf
Responses
post
/api/v2/transactions/{id}/void

Void Capture

Cancels a transaction after it has already been captured. Only the full transaction amount can be voided.

Void capture

post
/api/v2/transactions/{id}/void_capture

Cancel a payment that has previously been captured. Void capture can only be done on the full amount of the transaction. Check the documentation to verify what payment method allows for this payment modification.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Original transaction id to cancel / void the capture.

Example: 76944d4b-89e6-48d2-ac04-675383c3eedf
Responses
post
/api/v2/transactions/{id}/void_capture

Refund Payment

Refunds a previously captured transaction, fully or partially.

Refund payment

post
/api/v2/transactions/{id}/refund

Refund a payment that has previously been captured.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Original transaction id to refund.

Example: 76944d4b-89e6-48d2-ac04-675383c3eedf
Header parameters
x-vfi-api-idempotencykeystring · uuidOptional

Note: This value is required to process a refund for an Affirm payment.

Example: 63bbc548-d2de-4546-b106-880a5018461c
Body
amountintegerRequired

Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.

Example: 150
reasonstringOptional

The reason of the refund.

tax_indicatorstring · enumOptional

This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data. If the value TAX_PROVIDED is sent, tax_amount should also be provided

Default: TAX_NOT_PROVIDEDPossible values:
promo_codestringOptional

A code defined by the merchant that affects the calculation of the total amount.

purchase_order_numberstring · max: 17Optional

The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme). This field is part of so-called Level 2 data.

receipt_typestring · enumOptional

Defines the type of receipt to be generated

Possible values:
Responses
post
/api/v2/transactions/{id}/refund

Unmatched Refund

Refunds a cardholder without reference to a prior transaction. Accepts either an encrypted card or a reuse token.

Unmatched refund

post
/api/v2/transactions/refund

Refund a cardholder with an amount not related to a previous transaction.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
or
Responses
post
/api/v2/transactions/refund

Adjust Pre-Authorization Amount

Modifies the amount of a pending pre-authorization before capture. An amount greater than the original increments; an amount less decrements. Set to 0 to fully void after an increment.

Adjust the preauth transaction amount

post
/api/v2/transactions/{id}/adjust

Allows for the modification of the amount of a previously initiated preauthorization before it is captured.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Original transaction id to adjust.

Example: 76944d4b-89e6-48d2-ac04-675383c3eedf
Body
amountintegerRequired

Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, refer to the Currencies documentation for more details. The amount provided determines the type of adjustment. If it is greater than the original pre-authorization amount, it is treated as an increment. If it is less than the original pre-authorization amount, it is treated as a decrement. To fully void a transaction after an increment, set the amount to 0.

Example: 150
reasonstringOptional

The reason of the adjust.

Responses
post
/api/v2/transactions/{id}/adjust

Release Pre-Authorization

Releases the remaining uncaptured funds on a pre-authorization. This is a one-time, irreversible operation — no further captures are allowed after calling this endpoint.

Release PreAuthorization

post
/api/v2/transactions/{id}/release

Release the rest of preauthorisation which was not captured. This is a one time operation where all remaining funds are released. No further captures are allowed after that. Rest of amount to be released is automatically calculated internally.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Original preauthorized transaction id to release

Example: 76944d4b-89e6-48d2-ac04-675383c3eedf
Header parameters
x-vfi-api-idempotencykeystringOptional

string(uuid)

Example: 63bbc548-d2de-4546-b106-880a5018461c A value you specify that uniquely identifies this transaction. If you're unsure whether a particular transaction succeeded, you can reattempt it with the same idempotency key without worrying about duplicating the transaction.

Body
amountintegerOptional

Amount is charged without a decimal place e.g. $1.5 = 150. The required number of decimal places for a currency code is according to ISO For Account Verification transaction, provide 0 as value for this field.

Responses
post
/api/v2/transactions/{id}/release

Extend Pre-Authorization

Extends the authorisation period of a pending pre-authorization and re-confirms fund availability. For Visa, this is processed as a Reauthorization request.

Extend preauthorization

post
/api/v2/transactions/{id}/extend

Extend the authorization period and confirm the availability of the funds of a previously initiated preauthorization. If supported by the card brand (like Visa) this operation will be handled as a Reauthorization request.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Original preauthorized transaction id to release

Example: 76944d4b-89e6-48d2-ac04-675383c3eedf
Header parameters
x-vfi-api-idempotencykeystringOptional

string(uuid)

Example: 63bbc548-d2de-4546-b106-880a5018461c A value you specify that uniquely identifies this transaction. If you're unsure whether a particular transaction succeeded, you can reattempt it with the same idempotency key without worrying about duplicating the transaction.

Responses
post
/api/v2/transactions/{id}/extend

Technical Reversal

Triggers a technical reversal using the original idempotency key. Use this when a transaction request timed out and you are uncertain whether it was processed.

Reverse Transaction

post
/api/v2/transactions/reverse

Allows for technical reversal

Authorizations
AuthorizationstringRequired
Header parameters
x-vfi-api-idempotencykeystringRequired

string(uuid)

Responses
post
/api/v2/transactions/reverse

Issuer Instalment Selection

Confirms the shopper's selected instalment option when the issuer returns multiple options (for example, via Mastercard Instalment Payment Service).

Issuer Instalment Selection

post
/api/v2/transactions/{id}/issuer_instalment_selection

Confirm selection of instalment option where multiple issuer instalment options proposed.

Authorizations
AuthorizationstringRequired
Path parameters
idstringRequired

Original transaction id to apply instalment selection to.

Example: 76944d4b-89e6-48d2-ac04-675383c3eedf
Body
Responses
post
/api/v2/transactions/{id}/issuer_instalment_selection

Last updated

Was this helpful?