Transaction: Submit For Partial Settlement
-
Authorize the entire order amount using
Transaction: Sale.- Do not pass the submitForSettlement option or make a submitForSettlement call.
-
Make a separate submitForPartialSettlement call for each portion
you want to settle separately.
- For each call, specify the authorized-transaction and the amount to settle.
- PHP
$result = $gateway->transaction()->submitForPartialSettlement('theParentAuthTransactionId', '10.00', [
'orderId' => 'orderId'
]);
if ($result->success) {
$settledTransaction = $result->transaction;
} else {
print_r($result->errors);
}Arguments
amountrequired, StringAn amount to submit for partial settlement against the parent authorization transaction. This amount to be partially settled must be greater than 0. You can make multiple partial settlement calls as long as the cumulative amount to be partially settled is less than or equal to the amount authorized by the parent transaction. You can't settle more than the authorized amount unless your industry and processor support settlement adjustment (settling a certain percentage over the authorized amount); contact us for details.
authorizedTransactionrequired, stringThe transaction ID of the parent authorization. You can only submit transactions that have a status of authorized or settlement_pending for partial settlement.
Additional Parameters
'discountAmount'StringA Level 3 field that specifies the discount amount that was included in the total transaction amount. It can't be negative. It specifies the transaction-level discount amount applied on top of any line-item discounts; it must not be the sum of discounts applied to individual line items. For Visa CEDP, check the amount validation formula. This Braintree field is not used by PayPal.
'finalCapture'boolUse this field to indicate a partial shipment as final for the given parent authorization. Braintree will attempt to reverse the uncaptured amount with the issuer. This is supported on limited processors; contact us for details.
The line items for this transaction. It can include up to 249 line items. If your merchant account has been configured for Level 3 processing this field will be passed to the processor on your behalf.
'commodityCode'stringCode used to classify items purchased and track the total amount spent across various categories of products and services. Different corporate purchasing organizations may use different standards, but the United Nations Standard Products and Services Code (UNSPSC) is frequently used. Maximum 12 characters. This Braintree line-item field is not used by PayPal. For Visa CEDP, required for Level 3 interchange.
'description'string'discountAmount'StringDiscount amount for the line item. Can include up to 2 decimal places. This value can't be negative. This Braintree line-item field is not used by PayPal. For Visa CEDP, must be provided if discount exists.
'kind'stringIndicates whether the line item is a debit (sale) or credit (refund) to the customer. Accepted values:
"debit""credit"
'name'stringItem name. Maximum 35 characters, or 127 characters for PayPal transactions. Required for Level 3 interchange. For Visa CEDP, the item name should reflect the purchased item and must not be the same as the merchant name; it should not be generic, numeric, or non-descriptive.
'productCode'stringProduct code for the item. Maximum 12 characters, or 127 characters for PayPal transactions. For Visa CEDP, required for Level 3 interchange.
'quantity'String'taxAmount'StringTax amount for the line item. Can include up to 2 decimal places. This value can't be negative. For Visa CEDP, this field is not required; however, if tax amount was paid at the line-item level, the sum of all line-item taxes should be reflected in the transaction-level field. This summation rule is specific to Visa CEDP. For Mastercard, tax_amount can be sent in this field.
'totalAmount'StringQuantity x unit amount. Can include up to 2 decimal places. For Visa CEDP, the line-item total is calculated as (quantity x unit amount) minus the discount per line item.
'unitAmount'String'unitOfMeasure'stringThe unit of measure or the unit of measure code. Maximum 12 characters. It represents the measurement unit corresponding to the product sold. For example, item/box for a countable object, liter/gallon for a liquid, or kilogram/pound for weight. This Braintree line-item field is not used by PayPal. For Visa CEDP, required for Level 3 interchange.
'unitTaxAmount'String'upcCode'string'upcType'stringUPC type for the item. If specified, you must also provide the UPC code. Accepted values:
"UPC-A""UPC-B""UPC-C""UPC-D""UPC-E""UPC-2""UPC-5"
'url'string'orderId'string'purchaseOrderNumber'stringA Level 2 field that can be used to pass a purchase order identification value of up to 12 ASCII characters for AIB and 17 ASCII characters for all other processors.
'company'string'countryCodeAlpha2'stringThe ISO 3166-1 alpha-2 country code specified in an address. The gateway only accepts specific alpha-2 values.
'countryCodeAlpha3'stringThe ISO 3166-1 alpha-3 country code specified in an address. The gateway only accepts specific alpha-3 values.
'countryCodeNumeric'stringThe ISO 3166-1 numeric country code specified in an address. The gateway only accepts specific numeric values.
'countryName'stringThe country name specified in an address. We only accept specific country names.
'extendedAddress'string'firstName'string'countryCode'string'nationalNumber'string'lastName'string'locality'string'phoneNumber'stringDeprecated.
We recommend using international_phone. This parameter will be removed in the future.
'postalCode'stringThe postal code. Postal code must be a string of 4-9 alphanumeric characters, optionally separated by a dash or a space. Spaces and hyphens are ignored. Required if passing a PayPal shipping address.
For Visa CEDP, it should reflect the destination country format:
US: Can be provided in this format:
- 5 digits (ex: 10001)
- 5 digits + 4 digits (ex: 100010000)
- 5 digits + "-" + 4 digits (ex: 10001-0000)
Canada: ANA[space]NAN
'region'string'streetAddress'string'shippingAddressId'string'shippingAmount'StringA Level 3 field that specifies the shipping cost on the entire transaction. It can't be negative. For Visa CEDP, check the amount validation formula.
'shippingTaxAmount'StringA Level 3 field that specifies the amount of tax that was charged on the . The value can't be negative, and in most cases, it must be greater than zero if the shipping amount is greater than zero. For Visa CEDP, check the amount validation formula.
'shipsFromPostalCode'stringA Level 3 field that specifies the postal code of the shipping location.
Use the following format for Visa CEDP:
US: Can be provided in this format:
- 5 digits (ex: 10001)
- 5 digits + 4 digits (ex: 100010000)
- 5 digits + "-" + 4 digits (ex: 10001-0000)
Canada: ANA[space]NAN
'taxAmount'StringA Level 2 field that specifies the amount of tax that was included in the total transaction amount. The value can't be negative, and in most cases, it must be greater than zero in order to qualify for lower interchange rates. Tax amount should be calculated according to the total transaction amount, if tax was collected. Tax estimation is not allowed.
'taxExempt'boolA Level 2 field that indicates whether or not the transaction should be considered eligible for tax exemption. This does not affect the total transaction amount.
Transaction settlement
- Each partial settlement will create a new child transaction in the gateway with the same details as the original transaction, but with the amount specified in the submitForPartialSettlement call.
-
Once the child transaction is created, the parent will move to a
status, whereas the child will move from > > . -
The parent transaction will move from
to when any of the following is true: -
All child transactions are
and the cumulative amount submitted for settlement across all child transactions is equal to the amount authorized on the parent transaction. -
The original authorization is
and there are one or more child transactions associated with the parent transaction. -
The parent transaction has remained in
for longer than 30 days, regardless of the child transactions' status.
-
All child transactions are
-
Once the parent moves to the
status, no further settlements can be created on that transaction.
Refunds
- Once you've submitted a transaction for partial settlement, you can only issue a refund against the child transaction(s).
- A refund on a child transaction can be up to the amount settled on the child.
-
A refund can be issued only when the corresponding transaction has fully settled and is in a
state.
Control Panel visibility
- The parent and child transactions will appear linked in the Control Panel as Authorized Transaction and Settlement Transaction ID, respectively.
- The parent transaction will show the child transaction(s) under the Settlement Information section on the transaction search in the Control Panel. Similarly, the child transactions will show the parent for authorization information.