• No results found

CyberSource Global Payment Service

N/A
N/A
Protected

Academic year: 2021

Share "CyberSource Global Payment Service"

Copied!
163
0
0

Loading.... (view fulltext now)

Full text

(1)

Developer Guide

For Bank Transfers,

Brazilian Boletos Bancários,

and Direct Debits

Simple Order API

SCMP API

(2)

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.

(3)

CONTEN

Contents

Recent Revisions to This Document

8

About This Guide

10

Audience and Purpose 10

Conventions 10

Note and Important Statements 10

Text and Command Conventions 10

Related Documents 11

Customer Support 11

Chapter 1

Getting Started

12

Global Collect 12

Bank 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 15

Requesting 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

(4)

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 33

Requesting 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 51

Sending 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

(5)

Chapter 5

Real-Time Bank Transfers Using the SCMP API

67

Transaction Status 67

Sending 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 84

API 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 90

API Fields 90

Request Fields 90

Reply Fields 92

Reply Flags 94

Request and Reply Examples 95

Request 95

(6)

Chapter 8

Reports for Boletos Bancários

96

Boleto Bancário Unfulfilled Report 96

Viewing 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 115

Requesting 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 132

Requesting 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

(7)

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

(8)

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

(9)

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.

(10)

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.

(11)

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.

(12)

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

(13)

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_reconciliationIDSCMP API: bank_transfer_trans_ref_no

Bank transfer refund

Simple Order API: bankTransferRefundReply_reconciliationIDSCMP 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_reconciliationIDSCMP API: boleto_payment_trans_ref_no

Direct debits Direct debit  Simple Order API: directDebitReply_reconciliationIDSCMP API: direct_debit_trans_ref_no

Direct debit refund  Simple Order API: directDebitRefundReply_reconciliationIDSCMP API: direct_debit_refund_trans_ref_no

(14)

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_bankTransferRequestIDSCMP 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_paymentReferenceSCMP API: bank_transfer_payment_reference

Real-time bank transfer

Simple Order API: bankTransferRealTimeReply_ paymentReference

(15)

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.

(16)

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.

(17)

 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.

(18)

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

(19)

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:

[email protected]

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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>

(29)

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>

(30)

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>

(31)

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>

(32)

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>

(33)

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.

(34)

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.

(35)

 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.

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

References

Related documents