Sale completion
This guide covers the Sale completion process in Vortex Global Payments. It includes payload samples, expected responses, and implementation guidance for processing refunds to customers.
Sale Completion
The Sale Completion transaction is used to finalize a previously authorized amount from a sale transaction. A Sale Completion may capture the full or partial amount of the original authorization.
Prerequisites & Limitations
merchant.processor.namemust be"priority".currencyCodemust be"CAD"(Canadian Dollars).totalAmountmust be greater than 0.50.originalExternalIdmust reference the originalsaletransaction to be completed.- Only one sale completion is allowed per original authorization.
- If the completion amount is less than the original authorization, the remainder will be released.
In this guide, you’ll find:
- How to perform a full sale completion that matches the original authorization amount
- How to process a partial sale completion for less than the authorized amount
- How to interpret the response payload from a sale completion request
Full Sale Completion
Request Payload
{
"ecom": false,
"moto": false,
"recurring": true,
"externalId": "some-external-id",
"originalExternalId": "some-original-external-id",
"transactionType": "saleCompletion",
"totalAmount": 100.24,
"currencyCode": "CAD",
"merchant": {
"name": "PPS Engineering UAT 2",
"sic": "3501",
"number": "518089240725465",
"processor": {
"name": "priority"
},
"globalAccountId": "acct_global-account-id"
},
"account": {
"form": "plastic",
"expiry": "2027-12",
"number": "4242424242424242"
},
"device": {},
"customer": {
"address": {
"street1": "2001 Westside",
"city": "Alpharetta",
"state": "GA",
"postalCode": "30004"
}
}
}Response Body
{
"reference": "pi_3RQaGoKX2PidZXm21cmjOzSD",
"status": "succeeded",
"approved": true,
"declined": false,
"message": "Approved",
"requiredActions": "none",
"totalAmount": 100.24,
"requestedAmount": 100.24,
"surchargeAmount": 0,
"code": 0,
"authCode": null,
"availableAmount": 0,
"transferId": "tr_3RQaGoKX2PidZXm21eRkb2uy",
"authorization": {
"avsChecks": {
"addressLine1": true,
"postalCode": true,
"cvc": false
},
"network": {
"adviceCode": null,
"networkAdviceCode": null,
"networkStatus": "approved_by_network"
}
},
"cardType": "Discover",
"network": "discover",
"cardBin": {
"type": "",
"bank": {
"www": "",
"name": "",
"phone": ""
},
"bin": "60111111",
"brand": "DISCOVER",
"country": {
"iso": "840",
"info": "",
"name": "United States",
"abbreviation2": "US",
"abbreviation3": "USA"
},
"id": "60111111",
"source": "pci.bindb.com",
"level": "",
"prepaid": null,
"reloadable": null,
"business": null,
"regulated": false
},
"accountNumberMask": "1117",
"id": "QnPhZrCPb8G0F2f95yyrAg==",
"meta": {
"id": "QnPhZrCPb8G0F2f95yyrAg==",
"externalId": "1747686515046",
"received": "2025-05-19T20:28:35.278Z",
"tenantId": "A1A9550E-830C-474E-9836-DFD4DB492BC0",
"tenantName": "Test Tenant",
"replicationGroup": "qa",
"virtualEnv": "qa-atl",
"originatingInstance": "natl",
"environment": "default"
}
}Partial Sale Completion
Request Payload
{
"ecom": false,
"moto": false,
"recurring": true,
"externalId": "some-external-id",
"originalExternalId": "some-original-external-id",
"transactionType": "saleCompletion",
"totalAmount": 50.24,
"currencyCode": "CAD",
"merchant": {
"name": "PPS Engineering UAT 2",
"sic": "3501",
"number": "518089240725465",
"processor": {
"name": "priority"
},
"globalAccountId": "acct_global-account-id"
},
"account": {
"form": "plastic",
"expiry": "2027-12",
"number": "4242424242424242"
},
"device": {},
"customer": {
"address": {
"street1": "2001 Westside",
"city": "Alpharetta",
"state": "GA",
"postalCode": "30004"
}
}
}
The originalsaletransaction authorized 100.24. This partial completion captures only 50.24.
Response Body
{
"reference": "pi_3RQaPrKX2PidZXm20Rd5Xc4l",
"status": "requires_capture",
"approved": true,
"declined": false,
"message": "Approved",
"requiredActions": "none",
"totalAmount": 50.24,
"requestedAmount": 50.24,
"surchargeAmount": 0,
"code": 0,
"authCode": null,
"authorization": {
"avsChecks": {
"addressLine1": true,
"postalCode": true,
"cvc": false
},
"network": {
"adviceCode": null,
"networkAdviceCode": null,
"networkStatus": "approved_by_network"
}
},
"cardType": "Discover",
"network": "discover",
"cardBin": {
"type": "",
"bank": {
"www": "",
"name": "",
"phone": ""
},
"bin": "60111111",
"brand": "DISCOVER",
"country": {
"iso": "840",
"info": "",
"name": "United States",
"abbreviation2": "US",
"abbreviation3": "USA"
},
"id": "60111111",
"source": "pci.bindb.com",
"level": "",
"prepaid": null,
"reloadable": null,
"business": null,
"regulated": false
},
"accountNumberMask": "1117",
"id": "YYrBO8dFAFk2lgPvOw7fug==",
"meta": {
"id": "YYrBO8dFAFk2lgPvOw7fug==",
"externalId": "1747686967330",
"received": "2025-05-19T20:36:07.531Z",
"tenantId": "A1A9550E-830C-474E-9836-DFD4DB492BC0",
"tenantName": "Test Tenant",
"replicationGroup": "qa",
"virtualEnv": "qa-atl",
"originatingInstance": "natl",
"environment": "default"
}
}Implementation Notes
- Sale Completions must reference the
originalExternalIdfrom a previoussaleauthorization. - Only one sale completion is allowed per authorization (either full or partial).
- If partially completed, the unused portion of the authorization is automatically released.
- If the total amount in the request exceeds the available amount from the original sale, the transaction will be declined.
Updated 7 months ago
Did this page help you?
