SCMP API Fields
Formatting Restrictions
Unless otherwise noted, all of the fields listed are order and case insensitive, and the fields accept special characters, such as @, #, and %.
Request-level and offer-level field names and values must not contain carets (^) or colons (:). However, they can contain embedded spaces and any other printable characters. If you use more than one consecutive space, the extra spaces will be removed.
Data Type Definitions
Date and time—The format is YYYY-MM-DDThhmmssZ. For example, 2002-08-11T224757Z is equal to August 11, 2002, at 10:47:57 P.M. The T separates the date and the time. The Z indicates Coordinated Universal Time (UTC), which is also known as Greenwich Mean Time.
Decimal—Number that includes a decimal point. Examples: 23.45, -0.1, 4.0, 90809.0468.
Integer—Whole number {..., -3, -2, -1, 0, 1, 2, 3, ...}.
Non-negative integer—Whole number greater than or equal to zero {0, 1, 2, 3, ...}.
Positive integer—Whole number greater than zero {1, 2, 3, ...}.
String—Sequence of letters, numbers, spaces, and special characters, such as @ and #.
Request Fields
 
Important Required if the billTo_country value is ES (Spain), FR (France), IT (Italy), MC (Monaco), or PT (Portugal).
Important Required if the billTo_country value is one of the following:
Note If the BBAN is included, the bankInfo_bankCode field and the bankInfo_branchCode field are required if the billTo_country value is FR (France).
State for the billing address. Required if bill_country value is US or CA. Otherwise optional. Possible values are the State, Province, and Territory Codes for the United States and Canada.
Validate (R if bill_country is US or CA)
Direct Debit (R if bill_country is US or CA)
Refund (R if bill_country is US or CA)
Important Required if the billTo_country value is ES (Spain), FR (France), GR (Greece), IT (Italy), MC (Monaco), or PT (Portugal).
Note If the BBAN is included, the bankInfo_bankCode field and the bankInfo_branchCode fields are required if the billTo_country value is FR (France).
Customer’s first name. The size of the customer_firstname field and the customer_lastname field combined cannot exceed 27 characters.
Customer’s last name. The size of the customer_firstname field and the customer_lastname field combined cannot exceed 27 characters.
The request_id value returned from a previous request for the ics_direct_debit service. Providing this information creates a follow-on direct debit refund and reduces the number of API fields you must provide. For more information about follow-on services, see Getting Started with CyberSource Advanced for the SCMP API.
The request_token value returned from a previous request for the ics_direct_debit service.
Grand total for the order. You must include either this field or the amount offer-level field in your request. For more information about offers and grand totals, see Getting Started with CyberSource Advanced for the SCMP API.
Indicates whether the merchant intends to perform a pre-note transaction and to forward mandate information to the issuer. Based on the BACS Automated Direct Debit Instruction Service (AUDDIS), U.K. merchants have to lodge the mandate ID prior to a direct debit deposit. The process requires the biller to send a notification to the payer at least five calendar days before collecting the payment.
Important You must include the prenote_transaction field in your request and set the grand_total_amount value to 0. See Direct Debit Mandate Lodgement.
Direct Debit (R if any ship_to_ fields are included in the request.)
Direct Debit (R if any ship_to_ fields are included in the request.)
First name of the person receiving the product. The size of the ship_to_firstname field and the ship_to_lastname field combined cannot exceed 27 characters.
Last name of the person receiving the product. The size of the ship_to_firstname field and the ship_to_lastname field combined cannot exceed 27 characters.
Direct Debit (R if ship_to_country is US or CA)
The request_id value returned from a previous request for the ics_direct_debit_validate service. Providing this information creates a follow-on direct debit and reduces the number of API fields you must provide. For more information about follow-on services, see Getting Started with CyberSource Advanced for the SCMP API.
The request_token value returned from a previous request for the ics_direct_debit_validate service.
Offer-Level Fields
 
Per-item price of the product. You must include either the offer0 and this field or the request-level field grand_total_amount in your request. This value cannot be negative. For more information about offers and grand totals, see Getting Started with CyberSource Advanced for the SCMP API.
Product identifier code. Required if product_code is not the default value, stored_value, or one of the values related to shipping or handling.
If you set this field to a value other than default, stored_value, or any of the values related to shipping or handling, the quantity, product_name, and merchant_product_sku fields are required. For more nformation about required offer-level fields, see Getting Started with CyberSource Advanced for the SCMP API.
Product’s name. Required if product_code is not default, stored_value, or one of the values related to shipping or handling.
Quantity of the product being purchased. The default is 1. Required if product_code is not default, stored_value, or one of the values related to shipping and/or handling.
The amount field and the tax_amount field must be in the same currency.
If you include the tax_amount field, and you also include the ics_tax service in your request, the ics_tax service will not calculate tax for the item. Instead, it will return the value in the tax_amount field.
Reply Fields
 
One-digit code that indicates whether the ics_direct_debit request was successful:
One-digit code that indicates if the ics_direct_debit_refund request was successful:
One-word description of the result for the ics_direct_debit_refund service request. See Reply Flags, for the possible values.
Message that explains direct_debit_refund_rflag.
One-word description of the result for the ics_direct_debit request. See Reply Flags, for the possible values.
Message that explains direct_debit_rflag.
The amount sent in the direct debit validate request in either grand_total_amount or the amount field for offer0.
One-digit code that indicates if the ics_direct_debit_validate request was successful:
One-word description of the result for the ics_direct_debit_validate request. See Reply Flags, for the possible values.
Message that explains direct_debit_validate_rflag.
Message that explains the reply flag void_rflag. Do not display this message to the customer, and do not use this field to write an error handler.
Reply Flags
A reply flag is associated with an entire request or a specific service:
Entire request—the flag is in the ics_rflag field with a message in the ics_rmsg field.
Individual service—the flag is in the <service>_rflag field with a message in the <service>_rmsg field.
Table 7