Service fees are supported for FDC Nashville Global for the following card types:
- Visa
- Mastercard
- American Express
- Discover
Requirements
As part of the checkout process on your web site, you must display a terms and conditions statement for the service fee. A customer must accept the terms and conditions before submitting an order.
To enable the service fee feature, contact Customer Support to have your account configured
for the service.
Limitations
Service fees have the following limitations:
- Airline data is supported only for the principal amount, not for the service fee.
- Level II and Level III data are supported only for the principal amount, not for the service fee.
- The following features are not supported for transactions that include service fees:
- AVS
- CVN
- Partial authorizations
- Verbal authorizations
Merchant Reference Numbers
A service that prevents duplicate merchant reference numbers for transactions is provided.
When this service is turned on for service fee transactions, it allows duplicate merchant
reference numbers only for service fee transactions.
For more information about this service, or to turn the service on or off, contact Customer
Support.
Relaxed Requirements for Address Data and Expiration Date
To enable relaxed requirements for address data and expiration date, contact customer
support to have your account configured for this feature.
Processing a Service Fee
Service fees in credit card transactions are processed in the following services:
- Authorization
- Full authorization reversal
- Capture
- Credit
- Void
- Authorization reversal after void
Calculating the Service Fee
- You include the following required fields in your request for the service fee calculate service:
- orderInformation.amountDetails.currency
- For a tokenized payment card, usepaymentInformation.card.numberpaymentInformation.tokenizedCard.number.
- orderInformation.amountDetails.totalAmount or at least one offer-level amount field.
- clientReferenceInformation.code
- One of the fields included in the reply message isservice_fee_calculate_amount.
Authorizing the Principal Amount and Service Fee
- You include the following fields in your authorization request:
- processingInformation.authorizationOptions.ignoreAvsResult: Set this field toyes.
- processingInformation.authorizationOptions.ignoreCvResult: Set this field toyes.
- orderInformation.amountDetails.serviceFeeAmount: Set this field to the value of theservice_fee_calculate_amountfield that you received in the service fee calculate reply message.
FDC Nashville Global.Values for the following service fee merchant descriptor fields are always provided to FDC Nashville Global for all service fee authorization transactions:For information about creating an authorization request, see Authorizations.- merchantInformation.serviceFeeDescriptor.name
- merchantInformation.serviceFeeDescriptor.contact
- merchantInformation.serviceFeeDescriptor.state
POST https://<url_prefix>/pts/v2/payments/Request payload{ "clientReferenceInformation" : { "code" : "TC50171_3" }, "processingInformation" : { "commerceIndicator" : "internet" }, "orderInformation" : { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "email": "test@cybs.com" }, "amountDetails" : { "totalAmount" : "2325.00", "currency" : "USD", "serviceFeeAmount":"30.0" } }, "paymentInformation" : { "card" : { "number" : "4111111111111111", "expirationMonth" : "12", "expirationYear" : "2031" } }, "merchantInformation" : { "serviceFeeDescriptor" : { "name" : "ABC Service Fee", "contact" : "800-999-9999", "state" : "CA" } } }For each service fee merchant descriptor, when you do not include the merchant descriptor value in your request, the system uses the value that is in your account. When the value is not included in your request or in your account, FDC Nashville Global uses the value that is in your First Data merchant master file.To add a merchant descriptor value to your account, contact Customer Support. - The system sends an authorization request for the principal amount to the processor. The principal amount is either the value of theorderInformation.amountDetails.totalAmountfield or the sum of the amounts for all of the offers in the transaction.
- If the authorization for the principal amount fails, the system returns the pertinent error information to you in the reply message, and none of the remaining events in this description occur.
- If the authorization for the principal amount succeeds, the system sends an authorization request for the service fee to the processor. The system sends the same authorization indicator value that was sent in the authorization request for the principal amount.
- If the authorization for the service fee fails, the system reverses the authorization for the principal amount and returns the pertinent error information to you in the reply message, and none of the remaining events in this description occur.
Reversing an Authorization
If you decide to reverse the authorizations instead of capturing them, you must include values for the following fields in your request for a full authorization reversal:
- Principal amount, which is either the value of theorderInformation.amountDetails.totalAmountfield or the sum of the values for all offers in the transaction.
- orderInformation.amountDetails.serviceFeeAmount
For information about creating a request to reverse an authorization, see the
REST API Reference.
POST https://<url_prefix>/pts/v2/payments/{id}/reversals
Request payload
{ "clientReferenceInformation": { "code": "TC50171_3" }, "reversalInformation": { "reason": "34", "amountDetails": { "totalAmount": "2325.00", "serviceFeeAmount": "30.0" } } }
Capturing the Principal Amount and Service Fee
- If the authorization for the service fee succeeds, include the following values in your capture request:
- Principal amount, which is either the value of theorderInformation.amountDetails.totalAmountfield or the sum of the values for all offers in the transaction.
- orderInformation.amountDetails.serviceFeeAmount
- merchantInformation.serviceFeeDescriptor.name
- merchantInformation.serviceFeeDescriptor.contact
- merchantInformation.serviceFeeDescriptor.state
For each service fee merchant descriptor, when you do not include the merchant descriptor value in your request, system uses the value that is in your account. When the value is not included in your request or in your account, FDC Nashville Global uses the value that is in your First Data merchant master file.To add a merchant descriptor value to your account, contact Customer Support.Multiple captures are supported for the principal amount and service fee amount. In the first capture request, you must include the entire service fee amount that was authorized, or you can split the service fee amount between the first and subsequent capture requests. It is recommended that you include the full service fee in the first capture request.Include the following special request fields in each capture request when you are requesting multiple partial captures:- processingInformation.captureOptions.captureSequenceNumber
- processingInformation.captureOptions.totalCaptureCount
For information about creating a capture request and multiple captures, see the REST API Reference. - The system examines the principal capture amount to determine whether it qualifies to be sent to the processor.The principal capture amount qualifies to be sent to the processor when any of the following statements are true:
- It equals the authorized principal amount.
- It is less than the authorized principal amount.
- It exceeds the authorized principal amount, and your account is configured to allow capture amounts to exceed authorized amounts.
The principal capture amount does not qualify to be sent to the processor when any of the following statements are true:- It is not included in the request.
- It is an invalid value.
- It exceeds the authorized principal amount, and your account is not configured to allow capture amounts to exceed authorized amounts.
- You can correct the principal capture amount and resend the capture request.If the principal capture amount does not qualify to be sent to the processor, the system returns the pertinent error information to you in the reply message. The system does not submit the capture requests to the processor and does not reverse the authorized amounts, and none of the remaining events in this description occur.
- If the principal capture amount qualifies to be sent to the processor, the system examines the service fee capture amount to determine whether it qualifies to be sent to the processor.The service fee capture amount qualifies to be sent to the processor when any of the following statements are true:
- It equals the authorized service fee amount.
- It is less than the authorized service fee amount.
- It exceeds the authorized service fee amount, and your account is configured to allow capture amounts to exceed authorized amounts.
The service fee capture amount does not qualify to be sent to the processor when any of the following statements are true:- It is not included in the request.
- It is an invalid value.
- It exceeds the authorized service fee amount, and your account is not configured to allow capture amounts to exceed authorized amounts.
- The authorization request did not include a service fee amount.
- If the authorization and capture requests included a service fee amount, you can correct the service fee capture amount and resend the capture request.If the service fee capture amount does not qualify to be sent to the processor, the system returns the pertinent error information to you in the reply message. The system does not submit the capture requests to the processor and does not reverse the authorized amounts, and none of the remaining events in this description occur.If the authorization request did not include a service fee amount, you can resend the capture request without the service fee amount.
- If the service fee capture amount qualifies to be sent to the processor, the system sends the following requests to the processor:
- Capture request for the principal amount.
- Capture request for the service fee amount.
- If one or both captures fail, the system returns the pertinent error information to you in the reply message, and none of the remaining events in this description occur. If one capture fails and the other capture succeeds, the system does not void the successful capture.
- If both captures succeed, you have successfully authorized and captured the principal amount and the service fee.
POST https://<url_prefix>/pts/v2/payments/{id}/captures
Request payload
{ "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation" : { "commerceIndicator" : "internet" }, "orderInformation": { "amountDetails": { "totalAmount": "2325.00", "currency": "USD", "serviceFeeAmount": "30.0" } }, "merchantInformation" : { "serviceFeeDescriptor" : { "name" : "ABC Service Fee", "contact" : "800-999-9999", "state" : "CA" } } }
Crediting the Principal Amount and Service Fee
- You can credit the principal amount, the service fee amount, or both amounts (optional).
- To credit only the principal amount, include values for one of the following in your credit request (/pts/v2/payments/{id}/refundsor/pts/v2/captures/{id}/refunds):
- orderInformation.amountDetails.totalAmount
- Sum of the amounts for all offers in the transaction
- To credit only the service fee amount, include values for the following fields in your credit request (/pts/v2/payments/{id}/refundsor/pts/v2/captures/{id}/refunds):
- orderInformation.amountDetails.serviceFeeAmount
- orderInformation.amountDetails.totalAmount =0(zero)
- The request ID that was returned in the capture reply for the principal amount should be retrieved from the URL and mapped to/pts/v2/payments/{id}/refundsor/pts/v2/captures/{id}/refunds.
- To credit both amounts, include values for the following in your credit request (/pts/v2/payments/{id}/refundsor/pts/v2/captures/{id}/refunds):
- Either the value of theorderInformation.amountDetails.totalAmountfield or the sum of the amounts for all the offers in the transaction
- orderInformation.amountDetails.serviceFeeAmount
- merchantInformation.serviceFeeDescriptor.name
- merchantInformation.serviceFeeDescriptor.contact
- merchantInformation.serviceFeeDescriptor.state
When you do not include the merchant descriptor value in your request, the system uses the value that is in your account. When the value is not included in your request or in your account, FDC Nashville Global uses the value that is in your First Data merchant master file.To add a merchant descriptor value to your account, contact Customer Support.For information about creating a credit request, see the REST API Reference. - If the service fee credit amount qualifies to be sent to the processor, the system sends the following requests to the processor:
- Credit request for the principal amount
- Credit request for the service fee amount
- If one or both credits fail, the system returns the pertinent error information to you in the reply message, and none of the remaining events in this description occur.If one credit fails and the other credit succeeds, the system does not void the successful credit.
- If both credits succeed, you have successfully credited the principal amount and the service fee.
Voiding a Capture or Credit
You can void captures and credits. See Voids.
For more information about voiding captures and credits, see the
REST API Reference.
Reversing an Authorization after a Void
If you decide to reverse the authorizations after a void, you must include values for the following in your request for a full authorization reversal:
- Principal amount, which is either the value of theorderInformation.amountDetails.totalAmountfield or the sum of the amounts for all the offers in the transaction
- orderInformation.amountDetails.serviceFeeAmount
For information about authorization reversal after void (ARAV), see the
REST API Reference.
POST https://<url_prefix>/pts/v2/payments/{id}/reversals
Request payload
{ "clientReferenceInformation": { "code": "TC50171_3" }, "reversalInformation": { "reason": "34", "amountDetails": { "totalAmount": "2325.00", "serviceFeeAmount": "30.0" } } }