Developer Guide Menu

Service Fees in Electronic Check Transactions

CyberSource service fee processing works with the CyberSource electronic check services, which are described in .
Service fees are supported for the CyberSource ACH Service.

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 CyberSource Customer Support to have your CyberSource account configured for this feature.

Merchant Reference Numbers

CyberSource provides a service that prevents duplicate merchant reference numbers for transactions. 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 CyberSource Customer Support.

Processing a Service Fee

Service fees in electronic check transactions are processed for the following services:
  • Payment
  • Credit

Debiting the Principal and Service Fee

  1. You include the 
    orderInformation.amountDetails.serviceFeeAmount
     field in your debit request (
    /pts/v2/payments
    ).
    For information about creating a debit request, see "Electronic Check Services."
  2. CyberSource sends a debit request for the principal amount to the processor.
    The 
    principal amount
     is either the value of the 
    orderInformation.amountDetails.totalAmount
     field or the sum of the amounts for all of the offers in the transaction.
  3. If the debit for the principal amount fails, CyberSource returns the pertinent error information to you in the response message, and none of the remaining events in this description occur.
  4. If the debit for the principal amount succeeds, CyberSource sends a debit request for the service fee to the processor.
  5. If the debit for the service fee fails, CyberSource returns the pertinent error information to you in the response message, and none of the remaining events in this description occur.
  6. If the debit for the service fee succeeds, you have successfully debited the principal amount and the service fee.
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", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "2325.00", "currency": "USD", "serviceFeeAmount": "30.0" } }, "paymentInformation": { "bank": { "account": { "number": "4100", "type": "C" }, "routingNumber": "071923284" } } }

Crediting the Principal Amount and Service Fee

Standalone Credit
CyberSource does not retrieve customer billing and account information from the database; therefore, you must include all customer billing and account information in your request.
POST https://<url_prefix>/pts/v2/credits
Request payload
{ "clientReferenceInformation" : { "code" : "TC50171_1" }, "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", "phoneNumber": "4158880000" }, "amountDetails":{ "totalAmount":"2325.00", "currency":"USD", "serviceFeeAmount":"30.0" } }, "paymentInformation":{ "bank" : { "account":{ "number":"4100", "type":"C" }, "routingNumber":"071923284" } } }
Follow-On Credit
Send the credit request with the request ID (
/pts/v2/payments/{id}/refunds
) from the payment response. CyberSource uses this value to retrieve all customer billing and account information sent with the debit, so it is not necessary to send this value again with the credit.
POST https://<url_prefix>/pts/v2/payments/{id}/refunds
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", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "2325.00", "currency": "USD", "serviceFeeAmount": "30.0" } }, "paymentInformation": { "bank": { "account": { "number": "4100", "type": "C" }, "routingNumber": "071923284" } } }
Credit Request Options
  1. You can credit the principal amount, the service fee amount, or both amounts (optional).
    • To credit only the principal amount, include the value of one of the following in your credit request:
      • orderInformation.amountDetails.totalAmount
      • Sum of the values for all offers in the transaction
    • To credit only the service fee amount, include values for the following in your credit request:
      • orderInformation.amountDetails.serviceFeeAmount
      • orderInformation.amountDetails.totalAmount = 0 (zero)
      • The request ID (
        /pts/v2/payments/{id}/refunds
         or 
        /pts/v2/captures/{id}/refunds
        ) that was returned in the payment response for the principal amount
    • To credit both amounts, include values for the following in your credit request:
      • Either the value of 
        orderInformation.amountDetails.totalAmount
         or the sum of the values for all the offers in the transaction
      • orderInformation.amountDetails.serviceFeeAmount
    For information about creating a credit request, see "Electronic Check Services."
  2. If the service fee credit amount qualifies to be sent to the processor, CyberSource sends the following requests to the processor:
    • Credit request for the principal amount
    • Credit request for the service fee amount
  3. If one or both credits fail, CyberSource returns the pertinent error information to you in the response message, and none of the remaining events in this description occur.
    If one credit fails and the other credit succeeds, CyberSource does not void the successful credit.
  4. If both credits succeed, you have successfully credited the principal amount and the service fee.

Voiding a Payment or Credit

You can void debits and credits. See "Voids."
For more information about voiding debits and credits, see the CyberSourceREST API Reference.
Top