Developer Guide
For Bank Transfers,
Brazilian Boletos Bancários,
and Direct Debits
Simple Order API
SCMP API
http://www.cybersource.com.
For sales questions about any CyberSource Service, email [email protected] or call 650-432-7350 or 888-330-2300 (toll free in the United States).
For support information about any CyberSource Service, visit the Support Center at
http://www.cybersource.com/support.
Copyright
© 2015 CyberSource Corporation. All rights reserved. CyberSource Corporation ("CyberSource") furnishes this document and the software described in this document under the applicable agreement between the reader of this document ("You") and CyberSource ("Agreement"). You may use this document and/or software only in accordance with the terms of the Agreement. Except as expressly set forth in the Agreement, the information contained in this document is subject to change without notice and therefore should not be interpreted in any way as a guarantee or warranty by CyberSource. CyberSource assumes no responsibility or liability for any errors that may appear in this document. The copyrighted software that accompanies this document is licensed to You for use only in strict accordance with the Agreement. You should read the Agreement carefully before using the software. Except as permitted by the Agreement, You may not reproduce any part of this document, store this document in a retrieval system, or transmit this document, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written consent of CyberSource.
Restricted Rights Legends
For Government or defense agencies. Use, duplication, or disclosure by the Government or defense agencies is subject to restrictions as set forth the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and in similar clauses in the FAR and NASA FAR Supplement.
For civilian agencies. Use, reproduction, or disclosure is subject to restrictions set forth in subparagraphs (a) through (d) of the Commercial Computer Software Restricted Rights clause at 52.227-19 and the limitations set forth in CyberSource Corporation's standard commercial agreement for this software. Unpublished rights reserved under the copyright laws of the United States.
Trademarks
CyberSource, The Power of Payment, CyberSource Payment Manager, CyberSource Risk Manager,
CyberSource Decision Manager, CyberSource Connect, Authorize.Net, and eCheck.net are trademarks and/or service marks of CyberSource Corporation. All other brands and product names are trademarks or registered trademarks of their respective owners.
CONTEN
Contents
Recent Revisions to This Document
8
About This Guide
10
Audience and Purpose 10Conventions 10
Note and Important Statements 10
Text and Command Conventions 10
Related Documents 11
Customer Support 11
Chapter 1
Getting Started
12
Global Collect 12Bank Account Requirements 12
API Versions for the XML Schema 12
Order Tracking 13
Reconciliation IDs and Transaction Reference Numbers 13
Request IDs 14
Payment Reference Numbers 14
Chapter 2
Bank Transfers and Bank Transfer Refunds Using the Simple Order API
15
Requesting Bank Transfers 15Requesting Bank Transfer Refunds 16
Researching a Missing Payment 17
API Fields 18
Request Fields 18
Reply Fields 25
Request and Reply Examples 28
Bank Transfer Request 28
Bank Transfer Reply 29
Standalone Bank Transfer Refund Request 30
Follow-On Bank Transfer Refund Request 31
Follow-On Bank Transfer Refund Reply 32
Chapter 3
Bank Transfers and Bank Transfer Refunds Using the SCMP API
33
Requesting Bank Transfers 33Requesting Bank Transfer Refunds 34
Researching a Missing Payment 35
API Fields 36
Request Fields 36
Offer-Level Fields 41
Reply Fields 42
Reply Flags 45
Request and Reply Examples 46
Bank Transfer Request 46
Bank Transfer Reply 47
Standalone Bank Transfer Refund Request 48
Standalone Bank Transfer Refund Reply 49
Follow-On Bank Transfer Refund Request 49
Follow-On Bank Transfer Refund Reply 50
Chapter 4
Real-Time Bank Transfers Using the Simple Order API
51
Transaction Status 51Sending the Query 51
Viewing the Response 53
Requesting Real-Time Bank Transfers 54
Requesting Real-Time Bank Transfer Refunds 55
API Fields 55
Request Fields 55
Bank Codes 60
Reply Fields 61
Additional Request Fields 63
Request and Reply Examples 64
Real-Time Bank Transfer Request 64
Real-Time Bank Transfer Reply 65
Real-Time Bank Transfer Refund 65
Chapter 5
Real-Time Bank Transfers Using the SCMP API
67
Transaction Status 67Sending the Query 67
Viewing the Response 69
Requesting Real-Time Bank Transfers 70
Requesting Real-Time Bank Transfer Refunds 71
API Fields 71 Request Fields 71 Offer-Level Fields 75 Bank Codes 76 Reply Fields 78 Reply Flags 79
Additional Request Fields 80
Request and Reply Examples 81
Real-Time Bank Transfer Request 81
Real-Time Bank Transfer Reply 81
Real-Time Bank Transfer Refund Request 82
Real-Time Bank Transfer Refund Reply 83
Chapter 6
Boletos Bancários Using the Simple Order API
84
Requesting a Boleto Bancário 84API Fields 84
Data Type Definitions 84
Request Fields 85
Reply Fields 86
Examples 88
Name-Value Pairs: Request 88
Name-Value Pairs: Reply 88
XML: Request 89
XML: Reply 89
Chapter 7
Boletos Bancários Using the SCMP API
90
Requesting a Boleto Bancário 90API Fields 90
Request Fields 90
Reply Fields 92
Reply Flags 94
Request and Reply Examples 95
Request 95
Chapter 8
Reports for Boletos Bancários
96
Boleto Bancário Unfulfilled Report 96Viewing and Downloading Reports 96
XML Conventions and Data Types 97
Syntax for Report Declarations 97
Syntax for Element Declarations 98
Data Types and Lengths 98
Elements in the Report 99
<Report> 99 <Summary> 101 <Range> 103 <TransactionDetail> 104 <Transaction> 105 DTD 108 Example 109
Single Transaction Report 112
Chapter 9
Direct Debits and Direct Debit Refunds Using the Simple Order API
115
Requesting Direct Debits 115Requesting Direct Debit Refunds 116
API Fields 118
Request Fields 118
Reply Fields 126
Request and Reply Examples 128
Direct Debit Request 128
Direct Debit Reply 129
Standalone Direct Debit Refund Request 129
Follow-On Direct Debit Refund 130
Chapter 10
Direct Debits and Direct Debit Refunds Using the SCMP API
132
Requesting Direct Debits 132Requesting Direct Debit Refunds 133
API Fields 135
Request Fields 135
Offer-Level Fields 141
Reply Fields 142
Reply Flags 144
Request and Reply Examples 145
Direct Debit Request 145
Chapter 11
Testing
149
Sending Test Requests 149
Testing Bank Transfers, Direct Debits, and Refunds 149
Testing Real-Time Bank Transfers 151
Testing Your CyberSource Interface 151
Testing Your Network Interface 152
Going Live 153
Appendix A
Product Codes
154
Appendix B
Reason Codes
155
Reason Codes for the Simple Order API 155
Appendix C
Researching a Missing Bank Transfer Payment
158
Recent Revisions to This
Document
Release Changes
March 2015 Updated Example 15. See page 54. Updated Example 22. See page 70.
January 2015 Removed the Interac processor from the document.
December 2014 Removed requirement to send request token fields with follow-on bank transfer and direct debit refunds. See the following sections:
Bank transfers:
Simple Order API—"Requesting Bank Transfer Refunds," page 16 SCMP API—"Requesting Bank Transfer Refunds," page 34 Direct debits:
Simple Order API—"Requesting Direct Debit Refunds," page 116 SCMP API—"Requesting Direct Debit Refunds," page 133
Updated customer company API request field length specifications and added shipping name and phone number API request fields to the following tables:
Bank transfers:
Simple Order API—Table 5, page 18 SCMP API—Table 7, page 36 Real-time bank transfers:
Simple Order API—Table 12, page 55 SCMP API—Table 17, page 71
Updated the response examples for Simple Order API real-time bank transfer payments. See "Viewing the Response," page 53.
Added the request token API reply field to the following tables: Real-time bank transfers:
Simple Order API—Table 14, page 61 SCMP API—Table 20, page 78
Added the bank SWIFT code information to the following sections: Direct debits:
Simple Order API—"Requesting Direct Debits," page 115, Table 37, page 118, and Example 41, page 128
SCMP API—"Requesting Direct Debits," page 132, Table 39, page 135, Example 47, page 145, and Example 49, page 147
September 2014 This revision contains only editorial changes and no technical updates. August 2014 Removed the following request fields for direct debits and direct debit
refunds:
directDebitService_mandateID direct_debit_mandate_id
July 2014 Added examples to the following sections: Bank transfers
Simple Order API— page 28. SCMP API—page 46. Real-time bank transfers
Simple Order API—page 64. SCMP API—page 81. Direct debits
Simple Order API—page 128. SCMP API—page 145.
ABO
UT GU
About This Guide
Audience and Purpose
This guide is written for merchants who want to use the Global Collect processor to offer the Global Payment services to customers. This guide describes the tasks a merchant must complete in order to make bank transfers and bank transfer refunds, real-time bank transfers, boleto bancario payments, and direct debits and direct debit refunds.
Conventions
Note and Important Statements
Text and Command Conventions
Note
A Note contains helpful suggestions or references to material not contained in the document.
Important
An Important statement contains information essential to successfully completing a task or learning a concept.
Convention Usage
bold Field and service names in text; for example: Include the ics_applications field.
Items that you are instructed to act upon; for example: Click Save.
Related Documents
The Global Payment Service Planning Guide (PDF | HTML) describes the business and technical implementations a merchant must complete in order to make bank transfers and bank transfer refunds, real-time bank transfers, boleto bancario payments, and direct debits and direct debit refunds.
Credit Card Services Using the Simple Order API (PDF | HTML) describes the tasks
you must complete to integrate the credit card services into your existing management system.
Credit Card Services Using the SCMP API (PDF | HTML) describes the tasks you
must complete to integrate the credit card services into your existing order management system.
Getting Started with CyberSource Advanced for the Simple Order API (PDF | HTML)
describes how to get started using the Simple Order API.
Getting Started with CyberSource Advanced for the SCMP API (PDF | HTML)
describes how to get started using the SCMP API.
The Reporting Developer Guide (PDF | HTML) describes how to download reports. Refer to the Support Center for complete CyberSource technical documentation:
http://www.cybersource.com/support_center/support_documentation
Customer Support
For support information about any CyberSource service, visit the Support Center:
http://www.cybersource.com/support
monospace XML elements.
Code examples and samples.
Text that you enter in an API environment; for example: Set the davService_run field to true.
1
Getting Started
Global Collect
The Global Payment Service supports the Global Collect processor. This processor supports all the countries mentioned in the Global Payment Service Planning Guide (PDF| HTML)
Bank Account Requirements
Become familiar with the bank account requirements for the countries in which you will be processing payments. Contact CyberSource Customer Support for required country-specific bank account information.
API Versions for the XML Schema
For general information about the API versions, see Getting Started with CyberSource Advanced for the Simple Order API. The following table shows which Simple Order API version to use for new payment methods.
Table 1 Choosing a Simple Order API Version Payment Method Version
Boletos Bancários 1.42 or later Real-time bank transfers 1.23 or later
Order Tracking
For general information about order tracking, see Getting Started with CyberSource Advanced for the Simple Order API or Getting Started with CyberSource Advanced for the SCMP API.
Reconciliation IDs and Transaction Reference
Numbers
The following table lists the field names for the reconciliation IDs and transaction reference numbers for the Global Payment Service payment methods.
Table 2 Reconciliation IDs and Transaction Reference Numbers Payment Method Service Field Names
Bank transfers Bank transfer Simple Order API: bankTransferReply_reconciliationID SCMP API: bank_transfer_trans_ref_no
Bank transfer refund
Simple Order API: bankTransferRefundReply_reconciliationID SCMP API: bank_transfer_refund_trans_ref_no
Real-time bank transfer
Simple Order API: bankTransferRealTimeReply_ reconciliationID
SCMP API: bank_transfer_real_time_trans_ref_no Boletos Bancários Boleto Bancário
payment
Simple Order API: boletoPaymentReply_reconciliationID SCMP API: boleto_payment_trans_ref_no
Direct debits Direct debit Simple Order API: directDebitReply_reconciliationID SCMP API: direct_debit_trans_ref_no
Direct debit refund Simple Order API: directDebitRefundReply_reconciliationID SCMP API: direct_debit_refund_trans_ref_no
Request IDs
For all Global Payment Services, the request ID is returned in the reply message in: requestID for the Simple Order API
request_id for the SCMP API
The following table lists the field names for the Global Payment Service request IDs in the request messages.
Payment Reference Numbers
The payment reference number is a unique value for each bank transfer. CyberSource returns this value in the bank transfer reply message, and you must display it prominently to the customer. The customer must send in the number with the bank transfer so that the payment can be matched to the order.
The following table lists the field names for the payment reference numbers.
Table 3 Reconciliation IDs and Transaction Reference Numbers Payment Method Service Field Names
Bank transfers Bank transfer refund for a bank transfer
Simple Order API:
bankTransferRefundService_bankTransferRequestID SCMP API: bank_transfer_request_id
Bank transfer refund for a real-time bank transfer
Simple Order API:
bankTransferRefundService_ bankTransferRealTimeRequestID
SCMP API: bank_transfer_real_time_request_id Direct debits Direct debit refund Simple Order API: directDebitRefundService_
directDebitRequestID
SCMP API: direct_debit_request_id
Table 4 Payment Reference Numbers Service Field Names
Bank transfer Simple Order API: bankTransferReply_paymentReference SCMP API: bank_transfer_payment_reference
Real-time bank transfer
Simple Order API: bankTransferRealTimeReply_ paymentReference
2
Bank Transfers and Bank
Transfer Refunds Using the
Simple Order API
Requesting Bank Transfers
To request a bank transfer, set the bankTransferService_run field to true. See Table 5, page 18, for a list of the fields to use when requesting the service.
When requesting a bank transfer, you may not request any other ICS service except Tax Calculation. For more information about the service, see Tax Calculation Service Using the Simple Order API.
In the bank transfer reply, you receive fields containing information about the bank and bank account that the customer should transfer funds to. Display this information to customers so that they can easily transcribe it or print it and give it to their banks.
The information includes the bank’s name, bank’s country, the account holder’s name, and so on. The primary field containing the bank account information is bankTransferReply_
accountNumber. This field contains the bank account number information you need to
display, including a bank code or sort code, branch code or check digit, if any of those are used for the particular country. You can display the contents of the field as you receive it in the reply from CyberSource.
You might also receive the bankTransferReply_iban field with the International Bank Account Number (IBAN). The IBAN is an international standard for bank account numbers that the EU is adopting. In the future, the EU is planning to switch to using only the IBAN format and not the original format presented in bankTransferReply_accountNumber. If the IBAN is present in the reply, display it to the customer along with the other bank information, and identify it as the IBAN.
Depending on the country, you might also receive the bank’s SWIFT code, which is another bank identifier. When the bankTransferReply_bankSwiftCode field is present, display the SWIFT code to the customer along with the other bank information, and identify it as the SWIFT code.
Requesting Bank Transfer
Refunds
a
There are two types of bank transfer refunds: follow-on refunds and stand-alone refunds. A follow-on refund uses information from a previous bank transfer. A stand-alone refund does not depend on a previous transaction.
To request a bank transfer refund:
Set the bankTransferRefundService_run field to true.
Do not request any other ICS services except Tax Calculation, which is optional. For more information about this service, see Tax Calculation Service Using the Simple Order API.
Send the fields required for a bank transfer refund request as described in Table 5, page 18. For a follow-on refund, the fields and values must match the fields and values you sent in the bank transfer request.
For a stand-alone refund, the bankTransferRefundService_
bankTransferRequestID field is optional. See page 30.
For a follow-on refund, include one of these fields from the original request with the request ID (see page 31):
bankTransferRefundService_bankTransferRequestID
bankTransferRefundService_bankTransferRealTimeRequestID
The easiest way to implement bank transfer refunds is to always send the request ID from the original bank transfer with every bank transfer refund request.
Important
From August 1, 2016, for euro countries and from October 31, 2016, for non-euro countries, the IBAN must be included in each request. If you provide a BBAN it will be converted to an IBAN, and this conversion process will continue only until August 1, 2016.
Important
A follow-on refund must occur within 60 days of the request for the bank transfer. After the time limit expires, only a stand-alone refund can be requested. To refund a bank transfer, wait 1 to 3 days after the bank transfer request is processed by CyberSource. When you attempt to request a follow-on refund before the initial bank transfer is processed into your merchant bank account, the error ORDER WITHOUT REFUNDABLE PAYMENTS is
displayed. This error could also mean that your account is not configured for standalone refunds with Global Collect. To configure your account, please contact CyberSource Customer Support.
CyberSource recommends that when you request a refund, you use the same value for merchantReferenceCode that you used for the bank transfer. This makes it easier for you to link the refund to the original bank transfer in your own system as well as in CyberSource reports and transaction search screens.
CyberSource validates basic checks the format of the bank account number before performing the bank transfer refund. If the account number does not pass the validation, CyberSource rejects the request with reasonCode=244 instead of processing the bank transfer refund. CyberSource recommends that you then confirm that the customer entered the number correctly, and if it is incorrect, request the refund again with the correct number.
You may perform multiple partial refunds against a bank transfer. The sum of the refunds may not exceed the amount of the payment.
You do not receive an error in the reply for either of the following conditions: The bankTransferRefundService_bankTransferRequestID field is invalid. The customer’s payment has not yet been received.
Instead, CyberSource does not process the refund, and the transaction appears in the daily Transaction Exception Detail Report. You should monitor this report daily for
transactions problems. For descriptions of the reason codes that can appear in the report, see "Reason Codes," page 155. For information about the report and how to use it, see the Global Payment Service Planning Guide. For details about downloading the report and its format, see the Reporting Developer Guide.
Researching a Missing Payment
If CyberSource cannot match the customer’s payment information to the information you submit in the original bank transfer request (typically because the customer made a mistake), a situation could arise in which a customer makes a bank transfer payment but does not receive the goods, and CyberSource’s report and your bank account statement do not show that you received the payment. You can make a payment inquiry in the Business Center and have CyberSource research the missing payment and try to match your request with the customer’s payment.
For instructions on using the Business Center to research a lost payment, see
Appendix C, "Researching a Missing Bank Transfer Payment," on page 158.
Note
You must wait at least five days after the funds are debited from the customer’s account before initiating an inquiry because it can take that long for the funds to appear in your account and in CyberSource’s reports. CyberSource does not allow you to perform an inquiry within five days of submitting the initial bank transfer request.
API Fields
For information about the data types, see Getting Started with CyberSource Advanced for the Simple Order API.
Request Fields
The following table lists the fields to use in requests for bank transfers and bank transfer refunds.
Table 5 Request Fields for Bank Transfers and Bank Transfer Refunds for the Simple Order API
Request Field Description Used By and Required (R) or Optional (O)
Data Type & Length
bankInfo_address Bank’s address. Refund (O) String (255)
bankInfo_bankCode Bank's code. Used for some countries when you are not using the IBAN. Contact CyberSource Customer Support for required country-specific bank account information.
Note This is a required field if the bankInfo_country field is GB, AT, FR, or DE. For more information see the two-character ISO Standard Country Codes.
Refund (See description)
String (See description)
bankInfo_branchCode Code that identifies the branch of the customer's bank when you are not using the IBAN.
Refund (O) String (15)
bankInfo_city City in which the bank is located. Some banks validate the bank account information, so consider sending this field if the bank is not located in the same city of the billing address.
Refund (O) String (40)
bankInfo_country Country in which the bank is located. Use the two-character ISO Standard Country Codes.
Note If bankInfo_country is not set, CyberSource uses billTo_country to determine the country in which the bank transfer is taking place.
Bank Transfer (See description) Refund (R)
String (2)
1. Required if billTo_country value is US or CA
2. Required if any shipping information is included 3. Required if shipTo_country value is US or CA
bankInfo_name Bank's name.
Note This is a required field if the bankInfo_country field is AU, FI, FR, IT, NO, ES, SE, or CH. For more information see the two-character ISO Standard Country Codes.
Refund (See description)
String (40)
bankInfo_swiftCode Bank’s SWIFT code. Unique address of the bank. Also known as the Bank Identification Code (BIC).
Note This field is required when the IBAN is included in the request.
Bank Transfer (O) Refund (O)
String (30)
bankTransferRefundService_ bankTransferRequestID
The requestID value returned from a previous request for the bank transfer service.
Refund (R) String (26)
bankTransferRefundService_ reconciliationID
Unique identifier for the order submitted to Global Collect.
Note If you do not include this field in a refund request, CyberSource will generate the value.
Refund (R for standalone refunds) String (60) bankTransferRefundService_ run
Set to true to include the bank transfer refund service in your request.
Refund (R) String (5)
bankTransferService_run Set to true to include the bank transfer service in your request.
Bank Transfer (R) String (5)
billTo_city City of the billing address. Bank Transfer (R) Refund (R)
String (50)
billTo_company Name of the customer’s company. Bank Transfer (O) String (60) billTo_country Billing address country. Use the ISO
Standard Country Codes.
Bank Transfer (R) Refund (R)
String (2)
billTo_email Customer’s email address, including the full domain name. For example:
Bank Transfer (R) Refund (R)
String (255)
billTo_firstName Customer’s first name. Bank Transfer (R) Refund (R)
String (60)
billTo_lastName Customer’s last name. Bank Transfer (R) Refund (R)
String (60)
Table 5 Request Fields for Bank Transfers and Bank Transfer Refunds for the Simple Order API (Continued)
Request Field Description Used By and Required (R) or Optional (O)
Data Type & Length
1. Required if billTo_country value is US or CA
2. Required if any shipping information is included 3. Required if shipTo_country value is US or CA
billTo_phoneNumber Customer’s telephone number. Bank Transfer (O) Refund (O)
String (15)
billTo_postalCode Postal code for the billing address. The postal code must consist of 5 to 9 digits. If the value of billTo_country is US, the 9-digit postal code must follow this format: [5 digits][dash][4 digits]
Example: 12345-6789
If the value of billTo_country is CA, the 6-digit postal code must follow this format: [alpha][numeric][alpha] [numeric][alpha][numeric] Example: A1B 2C3 Bank Transfer (R) Refund (R) String (10)
billTo_state Billing address state. Bank Transfer
(R)1 Refund (R)1
String (2)
billTo_street1 Billing address street address. Bank Transfer (R) Refund (R)
String (60)
billTo_street2 Additional address information. Bank Transfer (O) Refund (O)
String (60)
fundTransfer_accountName Name used on the bank account. If you do not send this field, it is assumed the last name on the account is the billTo_ lastName value. Some banks validate the name on the bank account, so consider sending this field if the bank account owner is not the customer. This scenario might happen, for example, if a husband places the order, but the wife’s name is on the bank account.
Contact CyberSource Customer Support for required country-specific bank account information.
Refund (O) String (50)
Table 5 Request Fields for Bank Transfers and Bank Transfer Refunds for the Simple Order API (Continued)
Request Field Description Used By and Required (R) or Optional (O)
Data Type & Length
1. Required if billTo_country value is US or CA
2. Required if any shipping information is included 3. Required if shipTo_country value is US or CA
fundTransfer_accountNumber Bank account number.
Note From August 1, 2016, for euro countries and from October 31, 2016, for non-euro countries, the IBAN must be included in each request. If you provide a BBAN it will be converted to an IBAN, and this conversion process will continue only until August 1, 2016.
Note Do not use the IBAN in this field. include the IBAN in the fundTransfer_ iban field.
Refund (O) String (See description)
fundTransfer_bankCheckDigit Code used to validate the customer's account number when you are not using the IBAN. Contact CyberSource Customer Support for required country-specific bank account information.
Refund (O) String (2)
fundTransfer_iban International Bank Account Number (IBAN) for the bank account.
Note Required for specific countries. Contact CyberSource Customer Support for required country-specific bank account information.
Refund (See description)
String (30)
item_#_productCode Type of product, which is also used to determine the product category:
electronic, handling, physical, service, or shipping. The default value is default. See "Product Codes," page 154, for a list of valid values.
For bank transfers, if you set this field to a value other than default, stored_ value, or any of the values related to shipping and/or handling, the item_#_ quantity, item_#_productName, and item_#_productSKU fields are required.
Bank Transfer (O) Refund (O)
String (30)
item_#_productName Name of the product. For bank transfers, required if item_#_productCode is NOT
default, stored_value, or one of the values related to shipping and/or handling.
Bank Transfer (See description) Refund (O)
String (30)
Table 5 Request Fields for Bank Transfers and Bank Transfer Refunds for the Simple Order API (Continued)
Request Field Description Used By and Required (R) or Optional (O)
Data Type & Length
1. Required if billTo_country value is US or CA
2. Required if any shipping information is included 3. Required if shipTo_country value is US or CA
item_#_productSKU Product identifier code. For bank transfers, required if item_#_ productCode is NOT default,
stored_value, or one of the values related to shipping and/or handling.
Bank Transfer (See description) Refund (O)
String (30)
item_#_quantity Quantity of the product being purchased. For bank transfers, required if item_#_ productCode is NOT default,
stored_value, or one of the values related to shipping and/or handling.
Bank Transfer (See description) Refund (O)
Integer (10)
item_#_taxAmount Tax amount associated with this item. The item_#_taxAmount field is additive. For example, if you send one item with unitPrice of 10.00 and taxAmount of 0.80, and you send another item with unitPrice of 20.00 and taxAmount of 1.60, the total amount authorized will be for 32.40, not 30.00 with 2.40 of tax included.
The item_#_taxAmount and the item_#_ unitPrice must be in the same currency. If you include item_#_taxAmount, and you also include taxService in your request, taxService does not calculate tax for the item. Instead, it returns the value in the item_#_taxAmount field.
Bank Transfer (O) Refund (O)
String (15)
item_#_unitPrice Per-item price of the product. You must include either this field or
purchaseTotals_grandTotalAmount in your request. This value cannot be negative. For more information, see
Getting Started with CyberSource Advanced for the Simple Order API. You can include a decimal point (.) in this field, but you cannot include any other special characters. The amount will be truncated at the request level to the correct number of decimal places.
Bank Transfer Refund
(See description)
String (15)
Table 5 Request Fields for Bank Transfers and Bank Transfer Refunds for the Simple Order API (Continued)
Request Field Description Used By and Required (R) or Optional (O)
Data Type & Length
1. Required if billTo_country value is US or CA
2. Required if any shipping information is included 3. Required if shipTo_country value is US or CA
linkToRequest Value that links the current request to a previous authorization request for a debit card or prepaid card. This value is useful when multiple payment methods are used to complete an order. For more
information, see Credit Card Services Using the Simple Order API.
Bank Transfer (O) String (26)
merchantID Your CyberSource merchant ID.
Note When opening your account with CyberSource, be sure to inform CyberSource if you plan to use multiple CyberSource merchant IDs. For example, if you have separate business units within your company, each with a separate CyberSource merchant ID. You must have a separate processor merchant ID for each CyberSource merchant ID. For more information, contact CyberSource Customer Support.
Bank Transfer (R) Refund (R)
String (30)
merchantReferenceCode Merchant-generated order reference or tracking number. For more information, see Getting Started with CyberSource Advanced for the Simple Order API.
Bank Transfer (R) Refund (R)
String (50)
purchaseTotals_currency Currency used for the order. Use the ISO Standard Currency Codes.
Bank Transfer (R) Refund (R)
String (5)
purchaseTotals_ grandTotalAmount
Grand total for the order. You must include either this field or item_#_unitPrice in your request. For more information, see
Getting Started with CyberSource Advanced for the Simple Order API.
Bank Transfer Refund See description
String (15)
shipTo_city City of the shipping address. Bank Transfer (O)2
String (50)
shipTo_country Country of the shipping address. Use the two-character ISO Standard Country Codes.
Bank Transfer (O) String (2)
shipTo_firstName First name of the person receiving the product.
Bank Transfer (O) String (60)
shipTo_lastName Last name of the person receiving the product.
Bank Transfer (O) String (60)
Table 5 Request Fields for Bank Transfers and Bank Transfer Refunds for the Simple Order API (Continued)
Request Field Description Used By and Required (R) or Optional (O)
Data Type & Length
1. Required if billTo_country value is US or CA
2. Required if any shipping information is included 3. Required if shipTo_country value is US or CA
shipTo_phoneNumber Phone number for the shipping address. Bank Transfer (O) String (15) shipTo_postalCode Postal code for the shipping address. The
postal code must consist of 5 to 9 digits. If the value of shipTo_country is US, the 9-digit postal code must follow these rules:
[5 digits][dash][4 digits] Example: 12345-6789
If the value of shipTo_country is CA, the 6-digit postal code must follow these rules:
[alpha][numeric][alpha] [numeric][alpha][numeric] Example: A1B 2C4
If the postal code for the shipping address is not included in the request message, CyberSource uses the postal code from the billing address. If the postal code for the billing address is not included in the request message, the postal code for the shipping address is required.
Bank Transfer (O)3
String (10)
shipTo_state State or province of the shipping address. Use the State, Province, and Territory Codes for the United States and Canada.
Bank Transfer (O)3
String (2)
shipTo_street1 First line of the shipping address. Bank Transfer (O)2
String (60)
shipTo_street2 Second line of the shipping address. Bank Transfer (O) String (60)
Table 5 Request Fields for Bank Transfers and Bank Transfer Refunds for the Simple Order API (Continued)
Request Field Description Used By and Required (R) or Optional (O)
Data Type & Length
1. Required if billTo_country value is US or CA
2. Required if any shipping information is included 3. Required if shipTo_country value is US or CA
Reply Fields
The following table lists the fields returned in a reply from bankTransferService or
bankTransferRefundService service request. Table 6 Bank Transfer and Bank Transfer Refund Reply Fields
for the Simple Order API
Reply Field Description Returned By Data Type & Length
bankTransferRefundReply_ amount
Total amount for the bank transfer refund. Refund String (15)
bankTransferRefundReply_ iban
International Bank Account Number (IBAN) for the bank account.
Refund Alphanumeric (50)
bankTransferRefundReply_ processorResponse
Response code from the processor. Refund String (10)
bankTransferRefundReply_ reasonCode
A numeric value corresponding to the result of the bank transfer refund request. See
"Reason Codes," page 155, for a list of possible values.
Refund Integer (5)
bankTransferRefundReply_ reconciliationID
Unique value generated by CyberSource. For more information, see Getting Started with CyberSource Advanced for the Simple Order API.
Refund String (60)
bankTransferRefundReply_ requestDateTime
Time the bank transfer refund was requested. Format: YYYY-MM-DDThh:mm:ssZ.
Example: 2007-08-11T22:47:57Z, which is August 11, 2007, at 10:47:57 P.M. The T separates the date and the time. The Z indicates UTC.
Refund String (20)
bankTransferReply_ accountHolder
Name of the account holder. Bank Transfer String (50)
bankTransferReply_ accountNumber
Bank account number. Use the contents of this field along with the contents of the bankTransferReply_bankSpecialID field to display the country’s traditional
representation of the full bank account number on the bank transfer confirmation page.
Contact CyberSource Customer Support for required country-specific bank account information.
Bank Transfer String (30)
bankTransferReply_amount Total amount for the bank transfer. Bank Transfer String (15) bankTransferReply_bankCity City in which the bank is located. Bank Transfer String (50) bankTransferReply_
bankCountry
bankTransferReply_ bankName
Name of the bank. Bank Transfer String (50)
bankTransferReply_ bankSpecialID
Special ID used for the bank. For example, the sort code for U.K. banks. This field is only for the Global Collect processor. Use the contents of this field along with the contents of the bankTransferReply_accountNumber field to display the country’s traditional representation of the full bank account number on the bank transfer confirmation page. Contact CyberSource Customer Support for required country-specific bank account information.
Bank Transfer String (50)
bankTransferReply_ bankSwiftCode
Bank’s SWIFT code. Unique address of the bank. Also known as the Bank Identification Code (BIC). If this field is in the reply, display the value to the customer along with the other bank information.
Bank Transfer String (50)
bankTransferReply_iban International Bank Account Number (IBAN) for the bank account. If this field is in the reply, display the value to the customer along with the other bank information.
Note Required for specific countries. Contact CyberSource Customer Support for required country-specific bank account information.
Bank Transfer String (30)
bankTransferReply_ paymentReference
Payment reference number that you must display to the customer. For more information, see Getting Started with CyberSource Advanced for the Simple Order API. In Italy, this is called the Numero di
riferimento.
Bank Transfer String (16)
bankTransferReply_ processorResponse
Response code from the processor. Bank Transfer String (10)
bankTransferReply_ reasonCode
A numeric value corresponding to the result of the bank transfer request. See "Reason Codes," page 155, for a list of possible values.
Bank Transfer Integer (5)
bankTransferReply_ reconciliationID
Unique value generated by CyberSource. For more information, see Getting Started with CyberSource Advanced for the Simple Order API.
Bank Transfer String (60)
Table 6 Bank Transfer and Bank Transfer Refund Reply Fields for the Simple Order API (Continued)
Reply Field Description Returned By Data Type & Length
bankTransferReply_ requestDateTime
Time the bank transfer was requested. Format: YYYY-MM-DDThh:mm:ssZ. Example: 2005-08-11T22:47:57Z, which is August 11, 2005, at 10:47:57 P.M. The T separates the date and the time. The Z indicates UTC.
Bank Transfer String (20)
decision Summarizes the result of the overall request. Possible values: ACCEPT ERROR REJECT Bank Transfer and Refund String (6)
invalidField_0...N Fields in the request that contained invalid data. These reply fields are included as an aid to software developers only. No attempt should be made to use these fields for end user interaction. For more information, see
Getting Started with CyberSource Advanced for the Simple Order API.
Bank Transfer and Refund
String (100)
merchantReferenceCode Order reference or tracking number that you provided in the request. If you included multi-byte characters in this field in the request, the returned value might contain corrupted characters.
Bank Transfer and Refund
String (50)
missingField_0...N Required fields that were missing from the request. These reply fields are included as an aid to software developers only. No attempt should be made to use these fields for end user interaction. For more information, see
Getting Started with CyberSource Advanced for the Simple Order API.
Bank Transfer and Refund
String (100)
purchaseTotals_currency Currency used for the order. Uses the ISO Standard Currency Codes.
Bank Transfer and Refund
String (5)
reasonCode Numeric value corresponding to the result of the overall request. See "Reason Codes," page 155, for a list of possible values.
Bank Transfer and Refund
Integer (5)
requestID Identifier for the request. Bank Transfer
and Refund
String (26)
Table 6 Bank Transfer and Bank Transfer Refund Reply Fields for the Simple Order API (Continued)
Reply Field Description Returned By Data Type & Length
Request and Reply Examples
Bank Transfer Request
Example 1 Bank Transfer Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.23"> <merchantID>infodev</merchantID> <merchantReferenceCode>482046C3A7E94F5</merchantReferenceCode> <billTo> <firstName>John</firstName> <lastName>Smith</lastName> <street1>Boschdijk 987</street1> <city>Eindhoven</city> <postalCode>5600 PB</postalCode> <country>NL</country> <email>[email protected]</email> </billTo> <bankInfo> <bankCountry>NL</bankCountry> <bankCity>Amsterdam</bankCountry> <bankName>ABN Amro Bank N.V</bankName> <swiftCode>ABNA NL 2A</swiftCode> </bankInfo> <fundTransfer> <accountNumber>440339464</accountNumber> </fundTransfer> <item id="0"> <unitPrice>49.95</unitPrice> <quantity>1</quantity> </item> <purchaseTotals> <currency>GBP</currency> </purchaseTotals> <bankTransferService run="true"/> </requestMessage>
Bank Transfer Reply
Example 2 Bank Transfer Reply
<c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.23"> <c:merchantReferenceCode>482046C3A7E94F5</c:merchantReferenceCode> <c:requestID>0305782650000167905080</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>EUR</c:currency> </c:purchaseTotals> <c:bankTransferReply> <c:reasonCode>100</c:reasonCode>
<c:accountHolder>Global Collect BV</c:accountHolder> <c:accountNumber>440339464</c:accountNumber>
<c:amount>49.95</c:amount>
<c:bankName>ABN Amro Bank N.V</c:bankName> <c:bankCity>Amsterdam</c:bankCity> <c:bankCountry>NL</c:bankCountry> <c:paymentReference>106157214759</c:paymentReference> <c:bankSwiftCode>ABNA NL 2A</c:bankSwiftCode> <c:bankSpecialID>20-00-00</c:bankSpecialID> <c:requestDateTime>2012-01-28T23:44:27Z</c:requestDateTime> <c:reconciliationID>0308014624</c:reconciliationID> </c:bankTransferReply> </c:replyMessage>
Standalone Bank Transfer Refund Request
Example 3 Standalone Bank Transfer Refund Request
<requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.103"> <merchantID>demo123</merchantID> <merchantReferenceCode>demoRef</merchantReferenceCode> <billTo> <firstName>Orlando</firstName> <lastName>Bloom</lastName>
<street1>33, rue Dauphine</street1> <city>Bergheim</city> <postalCode>75006</postalCode> <country>DE</country> <phoneNumber>33 3 69 20 45 63</phoneNumber> <email>[email protected]</email> </billTo> <purchaseTotals> <currency>EUR</currency> <grandTotalAmount>112</grandTotalAmount> </purchaseTotals> <fundTransfer> <accountNumber>0044497071</accountNumber> <accountName>BRADFORD NICKLES</accountName> </fundTransfer> <bankInfo> <bankCode>79050000</bankCode> <name>SloveniaBank_testing</name> <country>DE</country> <swiftCode>BSLJSI2X</swiftCode> </bankInfo> <bankTransferRefundService run="true"> <reconciliationID>33552111</reconciliationID> </bankTransferRefundService> </requestMessage>
Standalone Bank Transfer Refund Reply
Example 4 Standalone Bank Transfer Refund Reply
Follow-On Bank Transfer Refund Request
Example 5 Follow-On Bank Transfer Refund Request
<c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.103"> <c:merchantReferenceCode>demoRef</c:merchantReferenceCode> <c:requestID>4024435525740181551532</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>eur</c:currency> </c:purchaseTotals> <c:bankTransferRefundReply> <c:reasonCode>100</c:reasonCode> <c:amount>112.00</c:amount> <c:requestDateTime>2014-06-10T23:39:14Z</c:requestDateTime> <c:reconciliationID>33552111</c:reconciliationID> <c:iban>DE58790500000044497071</c:iban> </c:bankTransferRefundReply> </c:replyMessage> <requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.103"> <merchantID>demo123</merchantID> <merchantReferenceCode>demoRef</merchantReferenceCode> <billTo> <firstName>Orlando</firstName> <lastName>Bloom</lastName>
<street1>33, rue Dauphine</street1> <city>Bergheim</city> <postalCode>75006</postalCode> <country>DE</country> <phoneNumber>33 3 69 20 45 63</phoneNumber> <email>[email protected]</email> </billTo> <purchaseTotals> <currency>EUR</currency> <grandTotalAmount>74</grandTotalAmount> </purchaseTotals> <fundTransfer> <accountNumber>0044497071</accountNumber> <accountName>BRADFORD NICKLES</accountName> </fundTransfer>
Follow-On Bank Transfer Refund Reply
Example 6 Follow-On Bank Transfer Refund Reply
<bankInfo> <bankCode>79050000</bankCode> <name>SloveniaBank_testing</name> <country>DE</country> <swiftCode>BSLJSI2X</swiftCode> </bankInfo> <bankTransferService run="true"/> </requestMessage> <c:replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.103"> <c:merchantReferenceCode>demoRef</c:merchantReferenceCode> <c:requestID>4024436180000181551532</c:requestID> <c:decision>ACCEPT</c:decision> <c:reasonCode>100</c:reasonCode> <c:purchaseTotals> <c:currency>eur</c:currency> </c:purchaseTotals> <c:bankTransferReply> <c:reasonCode>100</c:reasonCode>
<c:accountHolder>Global Collect B.V.</c:accountHolder> <c:accountNumber>115241904</c:accountNumber> <c:amount>74.00</c:amount> <c:bankName>Postbank AG</c:bankName> <c:bankCity>Leipzig</c:bankCity> <c:bankCountry>Germany</c:bankCountry> <c:paymentReference>256210123719</c:paymentReference> <c:bankSwiftCode>PBNKDEFF</c:bankSwiftCode> <c:bankSpecialID>BLZ|86010090</c:bankSpecialID> <c:requestDateTime>2014-06-10T23:40:19Z</c:requestDateTime> <c:reconciliationID>2149560850</c:reconciliationID> <c:iban>DE53860100900115241904</c:iban> </c:bankTransferReply> </c:replyMessage>
3
Bank Transfers and Bank
Transfer Refunds Using the
SCMP API
Requesting Bank Transfers
Use the ics_bank_transfer service to request a bank transfer. See Table 7, page 36, for a list of the fields to use when requesting the service.
When requesting a bank transfer, you may not request any of the other ICS services except ics_tax. For more information about the service, see Tax Calculation Service Using the SCMP API.
In the bank transfer reply, you will receive fields containing information about the bank and bank account that the customer should transfer funds to. You need to display this
information to customers so that they can easily transcribe it or print it and give it to their banks.
The information includes the bank’s name, bank’s country, the account holder’s name, and so on. The primary field containing the bank account information is bank_transfer_
account_number. This field contains the necessary bank account number information
you need to display, including a bank code or sort code, branch code, or check digit, if any of those are used for the particular country. You can display the contents of the field as you receive it in the reply from CyberSource.
You might also receive bank_transfer_iban with the International Bank Account Number (IBAN). The IBAN is a international standard for bank account numbers that the EU is adopting. In the future, the EU is planning to switch to using only the IBAN format and not the original format presented in bank_transfer_account_number. If the IBAN is present in the reply, display it to the customer along with the other bank information, and identify it as the IBAN.
Depending on the country, you might also receive the bank’s SWIFT code, which is another bank identifier. If the bank_transfer_swiftcode field is present, display it to the customer along with the other bank information, and identify it as the SWIFT code.
Requesting Bank Transfer
Refunds
There are two types of bank transfer refunds: follow-on refunds and stand-alone refunds. A follow-on refund uses information from a previous bank transfer. A stand-alone refund does not depend on a previous transaction.
To request a bank transfer refund:
Use the ics_bank_transfer_refund service to request a bank transfer refund. Do not request any other ICS services except Tax Calculation, which is optional. For
more information about this service, see Tax Calculation Service Using the SCMP API.
Send the fields required for a bank transfer refund request as described in Table 7, page 36. For a follow-on refund, the fields and values must match the fields and values that you sent in the bank transfer request.
For a follow-on refund, include one of these fields from the original request with the request ID:
bank_transfer_request_id
bank_transfer_real_time_request_id
For a stand-alone refund, the bank_transfer_request_id field is optional.
The easiest way to implement bank transfer refunds is to always send the request ID from the original bank transfer with every bank transfer refund request.
Important
From August 1, 2016, for euro countries and from October 31, 2016, for non-euro countries, the IBAN must be included in each request. If you provide a BBAN it will be converted to an IBAN, and this conversion process will continue only until August 1, 2016.
Important
A follow-on refund must occur within 60 days of the request for the bank transfer. After the time limit expires, only a stand-alone refund can be requested. To refund a bank transfer, wait 1 to 3 days after the bank transfer request is processed by CyberSource. When you attempt to request a follow-on refund before the initial bank transfer is processed into your merchant bank account, the error ORDER WITHOUT REFUNDABLE PAYMENTS is
displayed. This error could also mean that your account is not configured for standalone refunds with Global Collect. To configure your account, please contact CyberSource Customer Support.
CyberSource recommends that when you request a refund, you use the same value for merchant_ref_number that you used for the bank transfer. This makes it easier for you to link the refund to the original bank transfer in your own system as well as in CyberSource reports and Transaction Search Screens.
CyberSource validates the bank account number before processing the bank transfer refund. If the account number does not pass the validation check, CyberSource rejects the request with a rflag=DINVALIDACCOUNT. CyberSource recommends that you then confirm the customer entered the number correctly, and if it was incorrect, request the refund again with the correct number.
You may perform multiple partial refunds against a bank transfer. The sum of the refunds may not exceed the amount of the payment.
You will not receive an error in the reply for any of the following conditions: The bank_transfer_request_id is invalid.
The customer’s payment has not yet been received.
Instead, CyberSource will not process the refund and the transaction will appear in the daily Transaction Exception Detail Report. You should monitor this report daily to
determine if any of your transactions have problems. For information about the report and how to use it, see the Global Payment Service Planning Guide. For details about
downloading the report and its format, see the Reporting Developer Guide.
Researching a Missing Payment
If a customer calls to say that they have made the bank transfer payment but have not received the goods, and CyberSource’s report or your bank account statement does not show that you have received the payment, you can make a payment inquiry in the Business Center and have CyberSource research the lost payment.
For instructions on how to research a lost payment in the Business Center, see
Appendix C, "Researching a Missing Bank Transfer Payment," on page 158.
Note
You must wait at least five days after the funds are debited from the customer’s account before initiating an inquiry because it can take that long before the funds appear in your account and in CyberSource’s reports. CyberSource will not allow you to perform an inquiry within five days of submitting the initial bank transfer request.
API Fields
The following table lists the fields to use in requests for bank transfers and bank transfer refunds. See the information about data types in Getting Started with CyberSource Advanced for the SCMP API.
Request Fields
The following table lists the fields to use in a request for ics_bank_transfer or ics_bank_
transfer_refund.
Table 7 Request-Level Fields for Bank Transfers and Bank Transfer Refunds for the SCMP API
Request-Level Field
Description Used by and
Required (R) or Optional (O)
Data Type & Length
bank_account_name Name used on the bank account. If you do not send this field, it is assumed the last name on the account is customer_lastname. Some banks validate the name on the bank account, so consider sending this field if the bank account owner is not the customer.This scenario might happen, for example, if a husband places the order, but the wife’s name is on the bank account. Contact CyberSource Customer Support for required country-specific bank account information.
Refund (O) String (50)
bank_account_ number
Bank account number. Contact CyberSource Customer Support for required country-specific bank account information.
Note From August 1, 2016, for euro countries and from October 31, 2016, for non-euro countries, the IBAN must be included in each request. If you provide a BBAN it will be converted to an IBAN, and this conversion process will continue only until August 1, 2016.
Note Do not use the IBAN in this field. Use only the traditional account number information. For the IBAN, use the bank_iban field.
Refund (O) String (See description)
bank_address Bank’s address. Refund (O) String (255)
1. Required if bill_country value is US or CA
2. Required if any shipping information is included 3. Required if ship_to_country value is US or CA
bank_check_digit Code used to validate the customer's account number when you are not using the IBAN. Contact CyberSource Customer Support for required country-specific bank account information.
Refund (O) String (2)
bank_city City where the bank is located. Some banks validate the bank account information, so consider sending this field if the bank is not located in bill_ city.
Refund (O) String (40)
bank_code Bank's code. Used for some countries when you are not using the IBAN. Contact CyberSource Customer Support for required country-specific bank account information.
Note This is a required field if the bank_country field is GB, AT, FR, or DE. For more information see the two-character ISO Standard Country Codes.
Refund (See description)
String (See description)
bank_country Country where the bank is located. Use the two-character ISO Standard Country Codes. Note If bank_country is not set, CyberSource uses bill_country to determine the country in which the bank transfer is taking place.
Bank Transfer (See description) Refund (R)
String (2)
bank_iban International Bank Account Number (IBAN) for the bank account.
Note Required for specific countries. Contact CyberSource Customer Support for required country-specific bank account information.
Refund (See description)
String (30)
bank_name Bank's name.
Note This is a required field if the bank_country field is AU, FI, FR, IT, NO, ES, SE, or CH. For more information see the two-character ISO Standard Country Codes.
Refund (See description)
String (40)
bank_swiftcode Bank’s SWIFT code. Unique address of the bank. Also known as the Bank Identification Code (BIC). Note This field is required when the IBAN field is included in the request.
Bank Transfer (See description) Refund (O)
String (30)
bank_transfer_ request_id
The request_id value returned from a previous request for ics_bank_transfer.
Refund (R) String (26)
Table 7 Request-Level Fields for Bank Transfers and Bank Transfer Refunds for the SCMP API (Continued)
Request-Level Field
Description Used by and
Required (R) or Optional (O)
Data Type & Length
1. Required if bill_country value is US or CA
2. Required if any shipping information is included 3. Required if ship_to_country value is US or CA
bank_transfer_trans_ ref_no
Unique identifier for the order submitted to Global Collect.
Note If you do not include this field in a refund request, CyberSource will generate the value.
Refund (R for standalone refunds)
String (60)
bill_address1 Billing street address. Bank Transfer (R) Refund (R)
String (60)
bill_address2 Additional billing address information. Bank Transfer (O) Refund (O)
String (60)
bill_city Billing address city. Bank Transfer (R)
Refund (R)
String (50)
bill_country Billing address country. Bank Transfer (R) Refund (R)
String (2)
bill_state Billing address state. Bank Transfer (R) 1 Refund (R) 1
String (2)
bill_zip Zip code for the shipping address. The zip code must consist of 5 to 9 digits.
If the value of bill_country is US, the 9-digit zip code must follow this format:
[5 digits][dash][4 digits] Example:12345-6789
If the value of bill_country is CA, the 6-digit zip code must follow this format:
[alpha][numeric][alpha] [numeric][alpha][numeric] Example: A1B 2C3 Bank Transfer (R if bill_country is US or CA) Refund (R if bill_ country is US or CA) String (10)
branch_code Code that identifies the branch of the customer's bank when you are not using the IBAN.
Contact CyberSource Customer Support for required country-specific bank account information.
Refund (O) String (15)
company_name Name of the customer’s company. Bank Transfer (O) String (60) currency Currency used for the order. Use the ISO Standard
Currency Codes.
Bank Transfer (R) Refund (R)
String (5)
customer_email Customer’s email address. For example: [email protected]
Bank Transfer (R) Refund (R)
String (255)
Table 7 Request-Level Fields for Bank Transfers and Bank Transfer Refunds for the SCMP API (Continued)
Request-Level Field
Description Used by and
Required (R) or Optional (O)
Data Type & Length
1. Required if bill_country value is US or CA
customer_firstname Customer’s first name. Bank Transfer (R) Refund (R)
String (60)
customer_lastname Customer’s last name. Bank Transfer (R) Refund (R)
String (60)
customer_phone Customer’s telephone number. Bank Transfer (O) Refund (O)
String (15)
grand_total_amount Grand total for the order. You must include either this field or offer0 and the offer-level field amount. See the information about offers and grand totals in
Getting Started with CyberSource Advanced for the SCMP API. Bank Transfer Refund See description Decimal (15)
ics_applications ICS services to process for the request. Bank Transfer (R) Refund (R)
String (255)
link_to_request Value that links the current request to a previous authorization request for a debit card or prepaid card. This value is useful when using multiple payment methods to complete an order. For details, see the information about partial authorizations in Credit Card Services Using the SCMP API.
Bank Transfer (O) String (26)
merchant_id Your CyberSource merchant ID.
Note When opening your account with
CyberSource, make sure to inform CyberSource if you plan to use multiple CyberSource merchant IDs. For example, if you have separate business units within your company, each with a separate CyberSource merchant ID. You must have a separate processor merchant ID for each CyberSource merchant ID. For more information, contact CyberSource Customer Support.
Bank Transfer (R) Refund (R)
String (30)
merchant_ref_ number
Merchant-generated order reference or tracking number. See the information about tracking orders in Getting Started with CyberSource Advanced for the SCMP API.
Bank Transfer (R) Refund (R)
String (50)
offer0...N Offers for the request. An offer is a line item for the order.
Bank Transfer (O) Refund (O)
String (50)
Table 7 Request-Level Fields for Bank Transfers and Bank Transfer Refunds for the SCMP API (Continued)
Request-Level Field
Description Used by and
Required (R) or Optional (O)
Data Type & Length
1. Required if bill_country value is US or CA
2. Required if any shipping information is included 3. Required if ship_to_country value is US or CA
ship_to_address1 First line of the address to which to ship the product.
Bank Transfer (O) 2 String (60) ship_to_address2 Second line of the address to which to ship the
product.
Bank Transfer (O) String (60)
ship_to_city City to which to ship the product. Bank Transfer (O) 2 String (50) ship_to_country Country to which to ship the product. Use the
two-character ISO Standard Country Codes.
Bank Transfer (O) String (2)
ship_to_firstname First name of person receiving the product. Bank Transfer (O) String (60) ship_to_lastname Last name of person receiving the product. Bank Transfer (O) String (60) ship_to_phone Phone number for the shipping address. Bank Transfer (O) String (15) ship_to_state State or province to which to ship the product. Use
the State, Province, and Territory Codes for the United States and Canada.
Bank Transfer (O) 3 String (2) ship_to_zip Zip code for the shipping address.
If the value of ship_to_country is US, the 9-digit zip code must follow this format:
[5 digits][dash][4 digits] Example: 12345-6789
If the value of ship_to_country is CA, the 6-digit zip code must follow this format:
[alpha][numeric][alpha] [numeric][alpha][numeric] Example: A1B 2C3
If the postal code for the shipping address is not included in the request message, CyberSource will use the postal code for the billing address. If the postal code for the billing address is not included in the request message, the postal code for the shipping address is required.
Bank Transfer (O) 3 String (10)
timeout Number of seconds until the transaction times out. The default is 110 seconds.
Bank Transfer (O) Refund (O)
Positive integer (3)
Table 7 Request-Level Fields for Bank Transfers and Bank Transfer Refunds for the SCMP API (Continued)
Request-Level Field
Description Used by and
Required (R) or Optional (O)
Data Type & Length
1. Required if bill_country value is US or CA
2. Required if any shipping information is included 3. Required if ship_to_country value is US or CA