Title Page Card-Present Processing Using the Simple Order API Supplement to Credit Card Services Using the Simple Order API May 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095
CyberSource Contact Information For general information about our company, products, and services, go to http://www.cybersource.com. For sales questions about any CyberSource Service, email sales@cybersource.com 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. 2
Contents CONTENTS Recent Revisions to This Document 5 About This Guide 6 Audience and Purpose 6 Conventions 6 Related Documentation 7 Customer Support 7 Chapter 1 Introduction to Card-Present Transactions 8 Supported Processors 8 Prerequisites 9 Chapter 2 Optional Features 10 Europay, MasterCard, Visa (EMV) 10 EMV Cards and Cardholder Verification Methods (CVMs) 11 EMV Transactions 11 Encryption 12 Payment Network Tokenization 15 Appendix A API Fields 16 XML Schema Versions 16 Formatting Restrictions 17 Data Type Definitions 17 P2PE Request Fields (Recommended) 18 EMV Request Fields 19 Clear Text Request Fields 22 General Card-Present Request Fields 23 Reply Fields 38 Card-Present Processing Using the Simple Order API May 2015 3
Contents Appendix B Examples 39 Name-Value Pair Examples 39 Sale Using Swiped Track Data 39 Sale Using Keyed Data 40 Sale Using EMV Technology with a Contact Read 41 Sale Using EMV Technology with a Contactless Read 42 Authorization Using Point-to-Point Encryption 43 XML Examples 44 Sale Using Swiped Track Data 44 Sale Using Keyed Data 46 Sale Using EMV Technology with a Contact Read 48 Sale Using EMV Technology with a Contactless Read 50 Authorization Using Point-to-Point Encryption 52 Card-Present Processing Using the Simple Order API May 2015 4
Recent Revisions to This Document REVISIONS Release May 2015 April 2015 March 2015 December 2014 Changes All processors that support encryption: updated the information about devices and device reader data values. See "Encryption," page 12. FDC Nashville Global: added note that forced captures are not supported for EMV transactions. See "Europay, MasterCard, Visa (EMV)," page 10. All processors that support encryption: updated the device reader data in "Encryption," page 12. FDC Nashville Global: added support for EMV. See "Europay, MasterCard, Visa (EMV)," page 10. TSYS Acquiring Solutions: added support for the pos_catlevel field for transactions from mobile devices. See "General Card-Present Request Fields," page 23. All processors that support encryption: Updated the device reader data in "Encryption," page 12. Updated the description of the pos_encodingmethod field in "P2PE Request Fields (Recommended)," page 18. All processors: changed the retail and retail POS terminology to card present. All processors that support encryption: Added a transaction flow diagram. See "Encryption," page 12. Updated the device reader data in "Encryption," page 12. Added P2PE examples. See "Authorization Using Point-to-Point Encryption," page 43 (NVP), and "Authorization Using Point-to-Point Encryption," page 52 (XML). JCN Gateway: added salesslipnumber reply field in Table 13, "Reply Fields," on page 38. May 2014 April 2014 CyberSource through VisaNet: added new possible values for the MasterCard payment initiation channel. See paymentinitiationchannel in "General Card- Present Request Fields," page 23. FDC Nashville Global: updated the pos_terminalid field and added the pos_ terminalidalternate field. See "General Card-Present Request Fields," page 23. All processors: moved the optional features into a new chapter. See Chapter 2, "Optional Features," on page 10. Card-Present Processing Using the Simple Order API May 2015 5
About This Guide ABOUT GUIDE Audience and Purpose This guide is written for application developers who want to use the CyberSource Simple Order API to integrate credit card processing with card-present data into their order management system. Implementing the CyberSource credit card services requires software development skills. You must write code that uses the API request and reply fields to integrate the credit card services into your existing order management system. Conventions The following special statements are used in this document: Note A Note contains helpful suggestions or references to material not contained in this document. Important An Important statement contains information essential to successfully completing a task or learning a concept. The following text conventions are used in this document: Table 1 Text Conventions Convention Meaning boldface API field names API service names Graphical user interface elements that you must act upon monospace Code in examples or possible values for API fields Card-Present Processing Using the Simple Order API May 2015 6
About This Guide Related Documentation Getting Started with CyberSource Advanced for the Simple Order API (PDF HTML) describes how to get started using the Simple Order API. Credit Card Services Using the Simple Order API (PDF HTML) describes how to integrate CyberSource payment processing services into your business. 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 Card-Present Processing Using the Simple Order API May 2015 7
Introduction to Card-Present Transactions CHAPTER 1 This addendum to Credit Card Services Using the Simple Order API describes cardpresent processing with CyberSource. Supported Processors CyberSource supports card-present credit card transactions for the processors shown in the following table. Table 2 Processors that CyberSource Supports for Card-Present Transactions Processor EMV Magnetic Stripe American Express Direct supports card-present processing only for merchants in the U.S. who are doing business in U.S. dollars. No Yes Chase Paymentech Solutions No Yes CyberSource through VisaNet No Yes FDC Nashville Global Yes Yes FDMS Nashville No Yes GPN No Yes Litle No Yes RBS WorldPay Atlanta No Yes TSYS Acquiring Solutions No Yes Card-Present Processing Using the Simple Order API May 2015 8
Chapter 1 Introduction to Card-Present Transactions Prerequisites Before you start your implementation: Contact your acquirer to find out whether you are allowed to process card-present transactions. Find out from your acquirer and CyberSource Customer Support whether you must have a separate CyberSource merchant ID for your card-present transactions. Contact CyberSource Customer Support to have your account configured to process card-present transactions. For point-to-point encryption (P2PE), you must use an approved device. See "Encryption," page 12. Make sure that you are familiar with the CyberSource Simple Order API for processing e-commerce and mail order/telephone order (MOTO) transactions as described in Credit Card Services Using the Simple Order API. The request and reply fields for card-present transactions are very similar to the request and reply fields for e-commerce/moto transactions. Table 3 Card-Present Fields in Service Requests and Replies Service Request Authorization request Authorization reply Capture request Capture reply Description A card-present authorization request includes additional fields and several existing authorization request fields have different requirements when the request is for a card-present transaction. A card-present authorization reply includes the same fields that are included for an e-commerce/moto transaction. For all processors except CyberSource through VisaNet, a cardpresent capture request includes the same fields that are included for an e-commerce/moto transaction. For CyberSource through VisaNet: A card-present capture request for a restaurant transaction requires additional fields. See the tables of request fields in Appendix A, "API Fields," on page 16. For non-restaurant transactions, a card-present capture request includes the same fields that are included for an e-commerce/moto transaction. A card-present capture reply includes the same fields that are included for an e-commerce/moto transaction. Card-Present Processing Using the Simple Order API May 2015 9
Optional Features CHAPTER 2 Europay, MasterCard, Visa (EMV) Services: Authorization Authorization reversal Capture Credit Processor: FDC Nashville Global Forced captures are not supported for EMV transactions. Note Card Types: Contact: American Express Diners Club Discover JCB MasterCard Visa Contactless: American Express ExpressPay Diners Club Discover JCB MasterCard PayPass Visa paywave Card-Present Processing Using the Simple Order API May 2015 10
Chapter 2 Optional Features EMV (Europay, MasterCard, Visa) is a global standard for exchanging information between chip cards and POS terminals. A chip card is a credit or debit card with an embedded microchip. A chip card also has a magnetic stripe on the back of the card, which can be used for a back-up transaction when the card s chip cannot be read. The EMV standards define the protocols for all levels of transmission between chip cards and chip card processing devices: physical, electrical, data, and application. EMV Cards and Cardholder Verification Methods (CVMs) FDC Nashville Global supports EMV cards that are chip-and-signature cards. For these cards, a signature is the only CVM. EMV Transactions Note When you use the Simple Order API in XML format, you must use version 1.86 or later of the XML schema to implement EMV. EMV transactions are more secure from fraud than are magnetic stripe transactions, which require a visual inspection of the card. Chip-and-PIN cards are more secure from fraud than chip-and-signature cards. When an EMV chip card is used in a POS environment, it generates a cryptogram that changes with each transaction. This dynamic authentication provides an extra layer of security for POS transactions. For an EMV transaction, use the fields documented in "EMV Request Fields," page 19. The following fields and values are specifically for EMV: Request fields: emvrequest_cardsequencenumber emvrequest_combinedtags Reply field: emvreply_combinedtags Values for pos_entrymode: contact: Read from direct contact with chip card. contactless: Read from a contactless interface using chip data. msd: Read from a contactless interface using magnetic stripe data (MSD). Values for pos_terminalcapability: 4: Terminal can read chip cards. 5: Terminal can read contactless chip cards. Card-Present Processing Using the Simple Order API May 2015 11
Chapter 2 Optional Features Encryption Services: Authorization Processor: All processors that are supported for card-present transactions Note When you use the Simple Order API in XML format, you must use version 1.86 or later of the XML schema to use encryption. The following diagram illustrates the steps in a transaction that uses encryption. 1 You send authentication data to your mobile device management (MDM) application to ensure that the user and the device have the required permissions. Your MDM application sends authentication credentials to the device. 2 The card is keyed, swiped, or read. The device generates an encrypted payload and sends it to your server along with the authentication credentials that were created in Step 1. 3 Your server creates a request message and uses the CyberSource API to send the message to CyberSource. 4 CyberSource sends a reply message to your server. The message indicates whether the request succeeded or failed. 5 Your server processes the information in the reply message. The device displays the status of the transaction. Card-Present Processing Using the Simple Order API May 2015 12
Chapter 2 Optional Features CyberSource provides Derived Unique Key Per Transaction (DUKPT) keys to device manufacturers which they inject into their card readers. To encrypt sensitive transaction data, the read heads on a CyberSource-supported card reader use DUKPT for key management along with the Triple Data Encryption Standard (3DES or TDES) algorithm for data encryption. When you use a card reader that encrypts sensitive transaction data, you can securely send transactions to CyberSource for decryption and processing. You can reduce your PCI scope with encryption that is implemented correctly. CyberSource natively supports encrypted output from ID Tech s Shuttle, UniMag II, SecureKey M100, SecureKey M130, and SREDKey devices. The following table indicates whether swiped entry and keyed entry are supported for each device. Table 4 Entry Modes Supported by ID Tech Devices ID Tech Device Swiped Entry Keyed Entry Shuttle Yes No UniMag II Yes No M100 No Yes M130 Yes Yes SREDKey Yes Yes The following tables provide the device reader data values for swiped and keyed entry for each device. Table 5 Device Reader Data Values for Swiped Entry for ID Tech Devices ID Tech Device Shuttle and UniMag II M130 and SREDKey Base64 Value for pos_devicereaderdata RklEPUlEVEVDSC5VbmlNYWcuQW5 kcm9pzc5tzgt2mq== RklEPUlEVEVDSC5TZWN1cmVLZXk utvnsllnka3yx Hex Value for pos_devicereaderdata 4649443d4944544543482e556e694d61672e4 16e64726f69642e53646b7631 4649443D4944544543482E5365637572654B6 5792E4D53522E53646B7631 Table 6 Device Reader Data Values for Keyed Entry for ID Tech Devices ID Tech Device M100, M130, and SREDKey Base64 Value for pos_devicereaderdata RklEPUlEVEVDSC5TZWN1cmVLZXk uu2rrdje= Hex Value for pos_devicereaderdata 4649443D4944544543482E5365637572654B6 5792E53646B7631 Card-Present Processing Using the Simple Order API May 2015 13
Chapter 2 Optional Features Perform the following steps to enable CyberSource to process the native output from ID Tech s Shuttle, UniMag II, M100, M130, and SREDKey devices: Step 1 Step 2 Step 3 Use the following command to instruct the device to output the data in USB human interface device (HID) mode: Command 02 53 23 01 30 03 40 The device outputs the data as a hex ByteArray. Convert the hex ByteArray to a string representation of the hex ByteArray. For example, if a hex byte is A1, converting it to an ASCII string results in the asterisk character (*) but converting it to a string representation of the hex byte results in A1. Set the pos_paymentdata field to the string representation of the hex ByteArray. For all other devices, use the CyberSource Common Track Format ID to send encrypted data to CyberSource. To use the Common Track specification, you must receive track 1 or track 2 data from the device, reformat the data, and add redundancy checks. For a copy of the Common Track specification, contact your CyberSource account representative. The following table provides the device reader data values for the CyberSource Common Track Format ID. Table 7 Device Reader Data Values for CyberSource Common Track Format ID Format ID Common Track Base64 Value for pos_devicereaderdata RklEPUNPTU1PTi5FbmNyeXB0ZWR UcmFja3MuU2RrdjE= Hex Value for pos_devicereaderdata 4649443d434f4d4d4f4e2e456e637279707465 64547261636b732e53646b7631 You must use hardware injected with Visa cryptography keys. If you have a specific device that you want to use and it is not in the table of supported devices, contact CyberSource Customer Support to learn whether your desired device can be injected with Visa Inc. cryptography keys and certified for use. Visa Inc. cryptography services work with DUKPT key management and 3DES encryption technologies. For security reasons, you cannot store CyberSource transaction credentials on a mobile device. You can store CyberSource transaction credentials in a secure manner on a file server or a workstation. CyberSource transaction credentials include your merchant ID, transaction security keys, and CyberSource certificates. For information about certificates and security keys, see Creating and Using Security Keys. To support this security requirement, point-of-sale (POS) devices that use the card encryption capabilities supported by CyberSource do not transact directly with CyberSource. Instead, POS devices use an application, an intermediate server, or device management software that transacts directly with CyberSource. Card-Present Processing Using the Simple Order API May 2015 14
Chapter 2 Optional Features For a transaction that uses encryption, use the fields documented in "P2PE Request Fields (Recommended)," page 18. The following fields are specifically for encryption: pos_devicereaderdata pos_encodingmethod pos_encryptionalgorithm pos_paymentdata For examples of P2PE requests and replies, see: Name-value pair examples: "Authorization Using Point-to-Point Encryption," page 43 XML examples: "Authorization Using Point-to-Point Encryption," page 52 Payment Network Tokenization Payment network tokenization enables you to request a credit card authorization with a token instead of a primary account number (PAN). For information about adding payment network tokenization functionality to an order management system that already uses CyberSource credit card services, see the Payment Network Tokenization Using the Simple Order API. Card-Present Processing Using the Simple Order API May 2015 15
API Fields APPENDIX A Important When you send an authorization, authorization reversal, capture, or credit request that includes card-present data, you must include the basic fields required for every authorization, authorization reversal, capture, or credit request. For information about card-not-present fields required for these requests, see Credit Card Services Using the Simple Order API. XML Schema Versions For general information about the XML schema versions, see Getting Started with CyberSource Advanced for the Simple Order API.The following table specifies the Simple Order API version to use for each processor for clear-text card-present transactions and card-present transactions that use point-to-point encryption (P2PE). Table 8 Simple Order API XML Schema Versions for Card-Present Transactions Processor Version for P2PE Transactions Version for Clear Text Transactions American Express Direct 1.86 or later 1.27 or later Chase Paymentech Solutions 1.86 or later 1.25 or later CyberSource through VisaNet 1.86 or later 1.69 or later FDC Nashville Global 1.86 or later 1.24 or later FDMS Nashville 1.86 or later 1.29 or later GPN 1.86 or later 1.26 or later Litle 1.86 or later 1.58 or later RBS WorldPay Atlanta 1.86 or later 1.48 or later TSYS Acquiring Solutions 1.86 or later 1.13 or later Card-Present Processing Using the Simple Order API May 2015 16
Appendix A API Fields Formatting Restrictions Unless otherwise noted, all field names are case sensitive and all fields accept special characters such as @, #, and %. Note The values of the item_#_ fields must not contain carets (^) or colons (:) because these characters are reserved for use by the CyberSource services. Values for request-level and item-level fields must not contain new lines or carriage returns. However, they can contain embedded spaces and any other printable characters. CyberSource removes all leading and trailing spaces. Data Type Definitions For more information about these data types, see the World Wide Web Consortium (W3C) XML Schema Part 2: Datatypes specification. Data Type Description Integer Whole number {..., -3, -2, -1, 0, 1, 2, 3,...} String Sequence of letters, numbers, spaces, and special characters Card-Present Processing Using the Simple Order API May 2015 17
Appendix A API Fields P2PE Request Fields (Recommended) Table 9 P2PE Request Fields Field Description Used By: Required (R) or Optional (O) Data Type & Length pos_devicereaderdata pos_encodingmethod pos_ encryptionalgorithm pos_paymentdata Data that identifies the card reader. This data enables CyberSource to parse the data that is in the pos_paymentdata field. For possible values, see "Encryption," page 12. Encoding method that was applied to the data in the pos_devicereaderdata and pos_ paymentdata fields. When sensitive data must be included in the authorization reply message that CyberSource sends you, CyberSource uses this encoding method to encrypt the sensitive data. Possible values: Base64 Hex Encryption algorithm that was used to encrypt the data in the pos_paymentdata field. Set this value to TDES. See "Encryption," page 12. Encrypted payment data from a card reader. See "Encryption," page 12. ccauthservice (O) String (512) ccauthservice (O) String (6) ccauthservice (O) String (4) ccauthservice (O) String (2048) Card-Present Processing Using the Simple Order API May 2015 18
Appendix A API Fields EMV Request Fields Table 10 EMV Request Fields Field Description Used By: Required (R) or Optional (O) emvrequest_ cardsequencenumber Number assigned to a specific card when two or more cards are associated with the same primary account number. This value enables issuers to distinguish among multiple cards that are linked to the same account. This value can also act as a tracking tool when reissuing cards. When this value is available, it is provided by the chip reader. When the chip reader does not provide this value, do not include this field in your request. See "Europay, MasterCard, Visa (EMV)," page 10. ccauthservice (O) Data Type & Length String with numbers only (3) Card-Present Processing Using the Simple Order API May 2015 19
Appendix A API Fields Table 10 EMV Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) emvrequest_ combinedtags EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV data is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags. See "Europay, MasterCard, Visa (EMV)," page 10. For information about the individual tags, see the Application Specification section in the EMV 4.3 Specifications: http://emvco.com Important The following tags contain sensitive information and must not be included in this field: 56: Track 1 equivalent data 57: Track 2 equivalent data 5A: Application PAN 5F20: Cardholder name 5F24: Application expiration date 99: Transaction PIN 9F0B: Cardholder name (extended) 9F1F: Track 1 discretionary data 9F20: Track 2 discretionary data ccauthservice (O) ccauthreversalservice (O) cccaptureservice (See description) cccreditservice (See description) Data Type & Length FDC Nashville Global: String (999) For information about the individual tags, see the Application Specification section in the EMV 4.3 Specifications: http://emvco.com For captures, this field is required for contact EMV transactions. Otherwise, it is optional. For credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits. Otherwise, it is optional. Important For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits, you must include the following tags in this field. For all other types of EMV transactions, the following tags are optional. 95: Terminal verification results 9F10: Issuer application data 9F26: Application cryptogram Card-Present Processing Using the Simple Order API May 2015 20
Appendix A API Fields Table 10 pos_environment EMV Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Operating environment. Possible values: 0: No terminal used or unknown environment. 1: On merchant premises, attended. 2: On merchant premises, unattended, or cardholder terminal. Examples: oil, kiosks, self-checkout, home computer, mobile telephone, personal digital assistant (PDA). Cardholder terminal is supported only for MasterCard transactions on CyberSource through VisaNet. 3: Off merchant premises, attended. Examples: portable POS devices at trade shows, at service calls, or in taxis. 4: Off merchant premises, unattended, or cardholder terminal. Examples: vending machines, home computer, mobile telephone, PDA. Cardholder terminal is supported only for MasterCard transactions on CyberSource through VisaNet. 5: On premises of cardholder, unattended. 9: Unknown delivery mode. S: Electronic delivery of product. Examples: music, software, or etickets that are downloaded over the internet. T: Physical delivery of product. Examples: music or software that is delivered by mail or by a courier. This field is supported only for American Express Direct and CyberSource through VisaNet. CyberSource through VisaNet For MasterCard transactions, the only valid values are 2 and 4. Data Type & Length ccauthservice (O) String (1) Card-Present Processing Using the Simple Order API May 2015 21
Appendix A API Fields Clear Text Request Fields Table 11 Clear Text Request Fields Field Description Used By: Required (R) or Optional (O) pos_servicecode MasterCard service code that is included in the track data. You can extract the service code from the track data and provide it in this API field. pos_trackdata This field is supported only for MasterCard and only on CyberSource through VisaNet. Card s track 1 and 2 data. For all processors except FDMS Nashville, this value consists of one of the following: Track 1 data Track 2 data Data for both tracks 1 and 2 For FDMS Nashville, this value consists of one of the following: Track 1 data Data for both tracks 1 and 2 Example: %B4111111111111111^SMITH/ JOHN ^1612101976110000868000000?;41 11111111111111=16121019761186800000? Data Type & Length ics_auth (O) String (3) ccauthservice: FDC Nashville Global: Required if pos_entrymode= contact, contactless, msd, or swiped; otherwise, not used. All other processors: Required if pos_ entrymode= swiped; otherwise, not used. String (119) Card-Present Processing Using the Simple Order API May 2015 22
Appendix A API Fields General Card-Present Request Fields Table 12 General Card-Present Request Fields Field Description Used By: Required (R) or Optional (O) billto_city Credit card billing city. ccauthservice: billto_country Credit card billing country. Use the twocharacter ISO Standard Country Codes. Chase Paymentech Solutions: Optional. Litle: Optional. TSYS Acquiring Solutions: Required when ccauthservice_ billpayment=true and pos_ entrymode=keyed. All other processors: Not used. ccauthservice: Chase Paymentech Solutions: Optional. Litle: Optional. Data Type & Length String (50) String (2) TSYS Acquiring Solutions: Required when ccauthservice_ billpayment=true and pos_ entrymode=keyed. All other processors: Not used. Card-Present Processing Using the Simple Order API May 2015 23
Appendix A API Fields Table 12 billto_email billto_firstname General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Customer s email address, including full domain name. Format: name@host.domain Customer s first name. Value should match value on card. ccauthservice: Chase Paymentech Solutions: Optional. Litle: Optional. TSYS Acquiring Solutions: Required when ccauthservice_ billpayment=true and pos_ entrymode=keyed. All other processors: Not used. ccauthservice: Chase Paymentech Solutions: Optional. Litle: Optional. Data Type & Length String (255) String (60) TSYS Acquiring Solutions: Required when ccauthservice_ billpayment=true and pos_ entrymode=keyed. All other processors: Not used. billto_lastname Customer s last name. Value should match value on card. ccauthservice: Chase Paymentech Solutions: Optional. String (60) Litle: Optional. RBS WorldPay Atlanta: Optional. TSYS Acquiring Solutions: Required when ccauthservice_ billpayment=true and pos_ entrymode=keyed. All other processors: Not used. Card-Present Processing Using the Simple Order API May 2015 24
Appendix A API Fields Table 12 billto_phonenumber billto_postalcode General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Customer s phone number. CyberSource recommends that you include the country code when order is from outside the U.S. Postal code for billing address. Postal code must consist of 5 to 9 digits. When the billing country is U.S., the 9-digit postal code must follow this format: [5 digits][dash][4 digits] Example: 12345-6789 When the billing country is Canada, the 6-digit postal code must follow this format: [alpha][numeric][alpha][space][numeric][alpha] [numeric] Example: A1B 2C3 ccauthservice: Chase Paymentech Solutions: Optional. Litle: Optional. TSYS Acquiring Solutions: Optional. All other processors: Not used. ccauthservice: FDMS Nashville: Required if pos_ entrymode=keyed and the address is in the U.S. or Canada. Optional if pos_ entrymode=keyed and the address is not in the U.S. or Canada. Not used if swiped. RBS WorldPay Atlanta: For best card-present keyed rates, send the postal code if pos_ entrymode=keyed. TSYS Acquiring Solutions: Required when ccauthservice_ billpayment=true and pos_ entrymode=keyed. All other processors: Optional. Data Type & Length String (15) String (10) Card-Present Processing Using the Simple Order API May 2015 25
Appendix A API Fields Table 12 billto_state billto_street1 General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Credit card billing state or province. Use State, Province, and Territory Codes for the United States and Canada. Credit card billing street address as it appears in credit card issuer s records. FDMS Nashville: When the street name is numeric, it must be sent in numeric format. For example, if the address is One First Street, it must be sent as 1 1st Street. ccauthservice: Chase Paymentech Solutions: Optional. Litle: Optional. TSYS Acquiring Solutions: Required when ccauthservice_ billpayment=true and pos_ entrymode=keyed. All other processors: Not used. ccauthservice: FDMS Nashville: Required if keyed; Not used if swiped. TSYS Acquiring Solutions: Required when ccauthservice_ billpayment=true and pos_ entrymode=keyed. All other processors: Optional. Data Type & Length String (2) FDMS Nashville: String (20) All other processors: String (60) billto_street2 Used for additional address information. For example: Attention: Accounts Payable ccauthservice (O) FDMS Nashville: String (20) FDMS Nashville: billto_street1 and billto_street2 together cannot exceed 20 characters. All other processors: String (60) card_accountnumber Customer s credit card number. ccauthservice: FDMS Nashville: Required. All other processors: Required if pos_ entrymode=keyed. FDMS Nashville: String with numbers only (19) All other processors: String with numbers only (20) Card-Present Processing Using the Simple Order API May 2015 26
Appendix A API Fields Table 12 card_cardtype card_cvindicator General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Type of card to authorize. Possible values: 001: Visa 002: MasterCard 003: American Express 004: Discover 005: Diners Club 006: Carte Blanche 007: JCB Indicates whether a CVN code was sent. Possible values: 0 (default): CVN service not requested. CyberSource uses this default when you do not include card_cvnumber in the request. 1 (default): CVN service requested and supported. CyberSource uses this default when you include card_cvnumber in the request. 2: CVN on credit card is illegible. 9: CVN not imprinted on credit card. ccauthservice (Required for Carte Blanche and JCB. Optional for other card types.) Important CyberSource strongly recommends that you send the card type even when it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type. ccauthservice: FDMS Nashville: Required for American Express. Otherwise, optional. TSYS Acquiring Solutions: Optional if pos_entrymode= keyed. Otherwise, not used. All other processors: Optional. Data Type & Length String (3) String with numbers only (1) card_cvnumber CVN. See CVN information in Credit Card Services Using the Simple Order API. ccauthservice: FDMS Nashville: Required for American Express or if swiped. Otherwise, optional. String with numbers only (4) TSYS Acquiring Solutions: Optional if pos_entrymode= keyed. Otherwise, not used. All other processors: Optional. Card-Present Processing Using the Simple Order API May 2015 27
Appendix A API Fields Table 12 card_expirationmonth General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Two-digit month in which credit card expires. Format: MM. Possible values: 01 through 12. Leading 0 is required. ccauthservice: FDMS Nashville: Required. All other processors: Required if pos_ entrymode=keyed. Data Type & Length String (2) card_expirationyear Four-digit year in which credit card expires. Format: YYYY. ccauthservice: FDMS Nashville: Required. String (4) All other processors: Required if pos_ entrymode=keyed. ccauthservice_ billpayment ccauthservice_ commerceindicator ccauthservice_run cccaptureservice_ industrydatatype Indicates payment for bill or payment towards existing contractual loan. For information about Visa Bill Payments and Visa Debt Repayments, see Credit Card Services Using the Simple Order API. Possible values: true: Bill payment or loan payment. false (default): Not a bill payment or loan payment. Type of transaction. For a card-present transaction, you must set this field to retail. Set to true to request credit card authorization. Indicates whether the transaction includes restaurant data. You must set this field to restaurant in order for restaurant data to be sent to the processor. When this field is not set to restaurant or is not included in the request, CyberSource does not send restaurant data to the processor. Restaurant data is supported only for CyberSource through VisaNet. ccauthservice (O) String (5) ccauthservice (R) String (13) ccauthservice (R) String (255) cccaptureservice (Required for restaurant transactions) String (10) Card-Present Processing Using the Simple Order API May 2015 28
Appendix A API Fields Table 12 extendedcredittotal Count General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Number of months the cardholder can use to pay for the purchase. You can use this field when offering extended credit to a cardholder at a retail location. The cardholder provides this value. The issuer pays you for the purchase in one payment, and then the cardholder pays the issuer in the number of monthly payments specified by this value. Note This field is supported only for acquirers in South Africa and only for CyberSource through VisaNet. Data Type & Length ccauthservice (O) String (2) gratuityamount item_#_productcode Gratuity or tip amount for restaurants when the card is present. Allowed only when cccaptureservice_ industrydatatype=restaurant. When your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not submit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the issuer has chargeback rights for the excess amount. For information about partial authorizations, see Credit Card Services Using the Simple Order API. Restaurant data is supported only for CyberSource through VisaNet. Type of product. This value is used to identify the product category (electronic, handling, physical, service, or shipping). The default value is default. For a list of valid values, see the information about product codes in Credit Card Services Using the Simple Order API. When this field is not set to default or one of the values related to shipping and/or handling, the item_#_quantity, item_#_ productname, and item_#_productsku fields are required. For information about items and grand totals, see Getting Started with CyberSource Advanced for the Simple Order API. cccaptureservice (O) Numeric (12) ccauthservice (O) String (30) Card-Present Processing Using the Simple Order API May 2015 29
Appendix A API Fields Table 12 General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) item_#_productname item_#_productsku item_#_quantity item_#_taxamount Required when item_#_productcode is not default or one of the values related to shipping and/or handling. Product identifier code. Required when item_ #_productcode is not default or one of the values related to shipping and/or handling. Default is 1. Required when item_#_ productcode is not default or one of the values related to shipping and/or handling. Total tax to apply to the product. This value cannot be negative. The tax amount and the unit price must be in the same currency. The tax amount field is additive. The following example uses a two-exponent currency such as USD: 1 You include the following items in your request: item_0_unitprice=10.00 item_0_quantity=1 item_0_taxamount=0.80 item_1_unitprice=20.00 item_1_quantity=1 item_1_taxamount=1.60 2 The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included. ccauthservice (See description) ccauthservice (See description) ccauthservice (See description) Data Type & Length String (30) String (15) Integer (10) ccauthservice (O) String (15) If you want to include item_#_taxamount and also request the taxservice service, see Tax Calculation Service Using the Simple Order API. 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 information about items and grand totals, see Getting Started with CyberSource Advanced for the Simple Order API. ccauthservice (See description) For GPN: String (10) All other processors: String (15) You can include a decimal point (.) in the value for this field, but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places. merchantid Your CyberSource merchant ID. ccauthservice (R) String (30) Card-Present Processing Using the Simple Order API May 2015 30
Appendix A API Fields Table 12 merchantreference Code General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Merchant-generated order reference or tracking number. CyberSource recommends that you send a unique value for each transaction so that you can perform meaningful searches for the transaction. For information about tracking orders, see Getting Started with CyberSource Advanced for the Simple Order API. FDC Nashville Global: This value must be numeric and must be less than 9 digits. When you do not send a valid value, CyberSource creates one for you. However, the value is not returned to you, so you cannot use the merchant reference number to track the order. Data Type & Length ccauthservice (R) String (50) Card-Present Processing Using the Simple Order API May 2015 31
Appendix A API Fields Table 12 paymentinitiation Channel General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) MasterCard-defined code that indicates how the account information was obtained. Possible values: 00 (default): Card 01: Removable secure element that is personalized for use with a mobile phone and controlled by the wireless service provider; examples: subscriber identity module (SIM), universal integrated circuit card (UICC) 02: Key fob 03: Watch 04: Mobile tag 05: Wristband 06: Mobile phone case or sleeve 07: Mobile phone with a non-removable, secure element that is controlled by the wireless service provider 08: Removable secure element that is personalized for use with a mobile phone and not controlled by the wireless service provider; example: memory card 09: Mobile phone with a non-removable, secure element that is not controlled by the wireless service provider 10: Removable secure element that is personalized for use with a tablet or e-book and is controlled by the wireless service provider; examples: subscriber identity module (SIM), universal integrated circuit card (UICC) 11: Tablet or e-book with a non-removable, secure element that is controlled by the wireless service provider 12: Removable secure element that is personalized for use with a tablet or e-book and is not controlled by the wireless service provider 13: Tablet or e-book with a non-removable, secure element that is not controlled by the wireless service provider This field is supported only for MasterCard and only for CyberSource through VisaNet. Data Type & Length ccauthservice (O) String (2) Card-Present Processing Using the Simple Order API May 2015 32
Appendix A API Fields Table 12 pos_cardpresent General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Indicates whether the card is present at the time of the retail transaction. Possible values: N: Card is not present. Y: Card is present. ccauthservice: FDMS Nashville: Not used. All other processors: Required. Data Type & Length String (1) pos_catlevel Type of cardholder-activated terminal. Possible values: 1: Automated dispensing machine 2: Self-service terminal 3: Limited amount terminal 4: In-flight commerce (IFC) terminal 5: Radio frequency device 6: Mobile acceptance terminal 7: Electronic cash register 8: E-commerce device at your location 9: Terminal or cash register that uses a dialup connection to connect to the transaction processing network Chase Paymentech Solutions Only values 1, 2, and 3 are supported. CyberSource through VisaNet Values 1 through 6 are supported on CyberSource through VisaNet, but some acquirers do not support all six values. ccauthservice: Chase Paymentech Solutions: Required if pos_terminalid is included in the request. Otherwise, optional. CyberSource through VisaNet: Optional. FDC Nashville Global: Optional for EMV transactions. Otherwise, not used. TSYS Acquiring Solutions: Required for transactions from mobile devices. Otherwise, not used. All other processors: Not used. Nonnegative integer (1) FDC Nashville Global Only values 7, 8, and 9 are supported. TSYS Acquiring Solutions Only value 6 is supported. Card-Present Processing Using the Simple Order API May 2015 33
Appendix A API Fields Table 12 pos_entrymode pos_terminalcapability General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Method of entering credit card information into the POS terminal. Possible values: contact: Read from direct contact with chip card. contactless: Read from a contactless interface using chip data. keyed: Manually keyed into POS terminal. msd: Read from a contactless interface using magnetic stripe data (MSD). swiped: Read from credit card magnetic stripe. The contact, contactless, and msd values are supported only for EMV transactions. See "Europay, MasterCard, Visa (EMV)," page 10. POS terminal s capability. Possible values: 1: Terminal has a magnetic stripe reader only. 2: Terminal has a magnetic stripe reader and manual entry capability. 3: Terminal has manual entry capability only. 4: Terminal can read chip cards. 5: Terminal can read contactless chip cards. The values of 4 and 5 are supported only for EMV transactions. See "Europay, MasterCard, Visa (EMV)," page 10. ccauthservice (R) String (11) ccauthservice: American Express Direct: Required. Chase Paymentech Solutions: Required. CyberSource through VisaNet: Optional. FDC Nashville Global: Required. FDMS Nashville: Required. GPN: Not used. Litle: Required. RBS WorldPay Atlanta: Optional. TSYS Acquiring Solutions: Optional. Data Type & Length Integer (1) Card-Present Processing Using the Simple Order API May 2015 34
Appendix A API Fields Table 12 pos_terminalid General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements. CyberSource through VisaNet A list of all possible values is stored in your CyberSource account and the value you send for this field is validated against the list each time you include the field in your request. When you do not include this field in your request, CyberSource uses the default value that is defined in your CyberSource account. FDC Nashville Global To have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you. ccauthservice: American Express Direct: Optional. If not provided, CyberSource uses the value in your CyberSource account. Chase Paymentech Solutions: Optional. If you include this field in your request, you must also include pos_catlevel. CyberSource through VisaNet: Optional. FDC Nashville Global: Optional. If not provided, CyberSource uses the value in your CyberSource account. FDMS Nashville: CyberSource uses the value in your CyberSource account. GPN: Not used. Data Type & Length String (8) Litle: Not used. RBS WorldPay Atlanta: Not used. TSYS Acquiring Solutions: Not used. Card-Present Processing Using the Simple Order API May 2015 35
Appendix A API Fields Table 12 pos_ terminalidalternate purchasetotals_ currency purchasetotals_ grandtotalamount Identifier for an alternate terminal at your retail location. You define the value for this field. This field is supported only for MasterCard transactions on FDC Nashville Global. Use the pos_terminalid field to identify the main terminal at your retail location. If your retail location has multiple terminals, use this pos_ terminalidalternate field to identify the terminal used for the transaction. This field is a pass-through, which means that CyberSource does not check the value or modify the value in any way before sending it to the processor. Currency used for order. For possible values, see ISO Standard Currency Codes. Grand total for the order. You must include either this field or item_#_unitprice in your request. For information about items and grand totals, Getting Started with CyberSource Advanced for the Simple Order API. ccauthservice: FDC Nashville Global: Optional for MasterCard transactions. Otherwise, not used. All other processors: Not used. String (8) ccauthservice (R) String (5) ccauthservice (See description) shipto_city City of shipping address. ccauthservice (Required if any shipping address information is included in the request and shipping to the U.S. or Canada. Otherwise, optional.) shipto_country shipto_firstname shipto_lastname General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Country of shipping address. Use the twocharacter ISO Standard Country Codes. First name of the person receiving the shipment. Last name of the person receiving the shipment. ccauthservice (Required if any shipping address information is included in the request. Otherwise, optional.) Data Type & Length String (15) String (50) String (2) ccauthservice (O) String (60) ccauthservice (O) String (60) Card-Present Processing Using the Simple Order API May 2015 36
Appendix A API Fields Table 12 shipto_postalcode shipto_state Postal code for the shipping address. The postal code must consist of 5 to 9 digits. When the shipping country is the U.S., the 9- digit postal code must follow this format: [5 digits][dash][4 digits] Example: 12345-6789 When the shipping country is Canada, the 6- digit postal code must follow this format: [alpha][numeric][alpha][space][numeric][alpha] [numeric] Example: A1B 2C3 State or province to ship the product to. Use the State, Province, and Territory Codes for the United States and Canada. ccauthservice (Required if any shipping address information is included in the request and shipping to the U.S. or Canada. Otherwise, optional.) ccauthservice (Required if any shipping address information is included in the request and shipping to the U.S. or Canada. Otherwise, optional.) shipto_street1 First line of shipping address. ccauthservice (Required if any shipping address information is included in the request. Otherwise, optional.) String (10) String (2) String (60) shipto_street2 Second line of shipping address. ccauthservice (O) String (60) transactionlocaldate Time General Card-Present Request Fields (Continued) Field Description Used By: Required (R) or Optional (O) Date and time at your physical location. Format: YYYYMMDDhhmmss, where YYYY = year MM = month DD = day hh = hour mm = minutes ss = seconds Data Type & Length ccauthservice (O) String (14) Card-Present Processing Using the Simple Order API May 2015 37
Appendix A API Fields Reply Fields Table 13 Reply Fields Field Description Returned By Data Type & Length emvreply_ combinedtags salesslipnumber EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV data is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags. See "Europay, MasterCard, Visa (EMV)," page 10. Note For information about the individual tags, see the Application Specification section in the EMV 4.3 Specifications: http://emvco.com Transaction identifier that CyberSource generates. You have the option of printing the sales slip number on the receipt. This field is supported only for JCN Gateway. ccauthreply ccauthreversalreply FDC Nashville Global: String (999) ccauthservice Integer (5) Card-Present Processing Using the Simple Order API May 2015 38
Examples APPENDIX B Name-Value Pair Examples Sale Using Swiped Track Data Example 1 Request Message: Sale Using Swiped Track Data merchantid=janesplants merchantreferencecode=abc123 purchasetotals_currency=usd purchasetotals_grandtotalamount=75.00 pos_entrymode=swiped pos_cardpresent=y pos_terminalcapability=2 pos_trackdata=%b4111111111111111^smith/betty^16121200123456789012** XXX******?*;4111111111111111=16121200XXXX00000000?* ccauthservice_run=true ccauthservice_commerceindicator=retail cccaptureservice_run=true Example 2 Reply Message: Sale Using Swiped Track Data merchantreferencecode=abc123 requestid=0305782650000167905080 decision=accept reasoncode=100 purchasetotals_currency=usd ccauthreply_reasoncode=100 ccauthreply_amount=75.00 ccauthreply_authorizationcode=831000 ccauthreply_avscode=2 ccauthreply_processorresponse=00 ccauthreply_reconciliationid=1094820975023470 ccauthreply_paymentnetworktransactionid=0412mccnyjpwy ccauthreply_cardcategory=j1 ccauthreply_cardgroup=0 cccapturereply_reasoncode=100 cccapturereply_amount=75.00 cccapturereply_reconciliationid=1094820975023470 receiptnumber=260371 Card-Present Processing Using the Simple Order API May 2015 39
Appendix B Examples Sale Using Keyed Data Example 3 Request Message: Sale Using Keyed Data merchantid=janesplants merchantreferencecode=abc123 purchasetotals_currency=usd purchasetotals_grandtotalamount=75.00 pos_entrymode=keyed pos_cardpresent=y pos_terminalcapability=2 card_accountnumber=4111111111111111 card_expirationmonth=12 card_expirationyear=2016 card_cardtype=001 ccauthservice_run=true ccauthservice_commerceindicator=retail cccaptureservice_run=true Example 4 Reply Message: Sale Using Keyed Data merchantreferencecode=abc123 requestid=0305782650000167905080 decision=accept reasoncode=100 purchasetotals_currency=usd ccauthreply_reasoncode=100 ccauthreply_amount=75.00 ccauthreply_authorizationcode=831000 ccauthreply_avscode=2 ccauthreply_processorresponse=00 ccauthreply_reconciliationid=1094820975023470 ccauthreply_paymentnetworktransactionid=0412mccnyjpwy ccauthreply_cardcategory=j1 ccauthreply_cardgroup=0 cccapturereply_reasoncode=100 cccapturereply_amount=75.00 cccapturereply_reconciliationid=1094820975023470 receiptnumber=260371 Card-Present Processing Using the Simple Order API May 2015 40
Appendix B Examples Sale Using EMV Technology with a Contact Read Example 5 Request Message: Sale Using EMV Technology with a Contact Read merchantid=janesplants merchantreferencecode=abc123 purchasetotals_currency=usd purchasetotals_grandtotalamount=75.00 pos_entrymode=contact pos_cardpresent=y pos_terminalcapability=4 pos_trackdata=%b4111111111111111^smith/betty^16121200123456789012** XXX******?*;4111111111111111=16121200XXXX00000000?* ccauthservice_run=true ccauthservice_commerceindicator=retail cccaptureservice_run=true emvrequest_combinedtags=9f3303204000950500000000009f3704518823719f100 706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A020 8409A030006219F02060000000020005F2A0208409F0306000000000000 emvrequest_cardsequencenumber=001 Example 6 Reply Message: Sale Using EMV Technology with a Contact Read merchantreferencecode=abc123 requestid=0305782650000167905080 decision=accept reasoncode=100 purchasetotals_currency=usd ccauthreply_reasoncode=100 ccauthreply_amount=75.00 ccauthreply_authorizationcode=831000 ccauthreply_avscode=2 ccauthreply_processorresponse=00 ccauthreply_reconciliationid=1094820975023470 ccauthreply_paymentnetworktransactionid=0412mccnyjpwy ccauthreply_cardcategory=j1 ccauthreply_cardgroup=0 cccapturereply_reasoncode=100 cccapturereply_amount=75.00 cccapturereply_reconciliationid=1094820975023470 receiptnumber=260371 emvreply_combinedtags=9f3303204000950500000000009f3704518823719f100 706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A020 8409A030006219F02060000000020005F2A0208409F0306000000000000 Card-Present Processing Using the Simple Order API May 2015 41
Appendix B Examples Sale Using EMV Technology with a Contactless Read Example 7 Request Message: Sale Using EMV Technology with a Contactless Read merchantid=janesplants merchantreferencecode=abc123 purchasetotals_currency=usd purchasetotals_grandtotalamount=75.00 pos_entrymode=contactless pos_cardpresent=y pos_terminalcapability=5 pos_trackdata=%b4111111111111111^smith/betty^16121200123456789012** XXX******?*;4111111111111111=16121200XXXX00000000?* ccauthservice_run=true ccauthservice_commerceindicator=retail ccauthservice_capturedate=0823 cccaptureservice_run=true emvrequest_combinedtags=9f3303204000950500000000009f3704518823719f100 706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A020 8409A030006219F02060000000020005F2A0208409F0306000000000000 emvrequest_cardsequencenumber=001 Example 8 Reply Message: Sale Using EMV Technology with a Contactless Read merchantreferencecode=abc123 requestid=0305782650000167905080 decision=accept reasoncode=100 purchasetotals_currency=usd ccauthreply_reasoncode=100 ccauthreply_amount=75.00 ccauthreply_authorizationcode=831000 ccauthreply_avscode=2 ccauthreply_processorresponse=00 ccauthreply_reconciliationid=1094820975023470 ccauthreply_paymentnetworktransactionid=0412mccnyjpwy ccauthreply_cardcategory=j1 ccauthreply_cardgroup=0 cccapturereply_reasoncode=100 cccapturereply_amount=75.00 cccapturereply_reconciliationid=1094820975023470 receiptnumber=852734 emvreply_combinedtags=9f3303204000950500000000009f3704518823719f100 706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A020 8409A030006219F02060000000020005F2A0208409F0306000000000000 Card-Present Processing Using the Simple Order API May 2015 42
Appendix B Examples Authorization Using Point-to-Point Encryption Example 9 Request Message: Authorization Using Point-to-Point Encryption ccauthservice_commerceindicator=retail ccauthservice_run=true merchantid=mymerchantid123 merchantreferencecode=9876 pos_cardpresent=y pos_devicereaderdata=4649443d4944544543482e556e694d61672e416e64726f6 9642E53646B7631 pos_encodingmethod=hex pos_encryptionalgorithm=tdes pos_entrymode=swiped pos_paymentdata=02d700801f3c20008383252a363031312a2a2a2a2a2a2a2a303030 395e46444d53202020202020202020202020202020202020202020205e323231322a 2a2a2a2a2a2a2a3f2a3b363031312a2a2a2a2a2a2a2a303030393d323231322a2a2a 2a2a2a2a2a3f2a7a75ad15d25217290c54b3d9d1c3868602136c68d339d52d984233 91f3e631511d548fff08b414feac9ff6c6dede8fb09bae870e4e32f6f462d6a75fa0 a178c3bd18d0d3ade21bc7a0ea687a2eef64551751e502d97cb98dc53ea55162cdfa 395431323439323830303762994901000001a000731a8003 pos_terminalcapability=2 purchasetotals_currency=usd purchasetotals_grandtotalamount=30.00 Example 10 Reply Message: Authorization Using Point-to-Point Encryption ccauthreply_amount=30.00 ccauthreply_authorizationcode=888888 ccauthreply_avscode=1 ccauthreply_processorresponse=100 ccauthreply_reasoncode=100 ccauthreply_reconciliationid=64709061ythmp2lf decision=accept merchantreferencecode=9876 purchasetotals_currency=usd reasoncode=100 requestid=3965463790780176056470 Card-Present Processing Using the Simple Order API May 2015 43
Appendix B Examples XML Examples Sale Using Swiped Track Data Example 11 Request Message: Sale Using Swiped Track Data <requestmessage xmlns="urn:schemas-cybersource-com:transaction-data-1.86"> <merchantid>janesplants</merchantid> <merchantreferencecode>abc123</merchantreferencecode> <purchasetotals> <currency>usd</currency> <grandtotalamount>75.00</grandtotalamount> </purchasetotals> <pos> <entrymode>swiped</entrymode> <cardpresent>y</cardpresent> <terminalcapability>2</terminalcapability> <trackdata>%b4111111111111111^smith/betty^16121200123456789012**xxx******?*; 4111111111111111=16121200XXXX00000000?*</trackData> </pos> <ccauthservice run="true"> <commerceindicator>retail</commerceindicator> </ccauthservice> <cccaptureservice run="true"/> </requestmessage> Card-Present Processing Using the Simple Order API May 2015 44
Appendix B Examples Example 12 Reply Message: Sale Using Swiped Track Data <c:replymessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.86"> <c:merchantreferencecode>abc123</c:merchantreferencecode> <c:requestid>0305782650000167905080</c:requestid> <c:decision>accept</c:decision> <c:reasoncode>100</c:reasoncode> <c:purchasetotals> <c:currency>usd</c:currency> </c:purchasetotals> <c:ccauthreply> <c:reasoncode>100</c:reasoncode> <c:amount>75.00</c:amount> <c:authorizationcode>831000</c:authorizationcode> <c:avscode>2</c:avscode> <c:processorresponse>00</c:processorresponse> <c:reconciliationid>1094820975023470</c:reconciliationid> <c:paymentnetworktransactionid>0412mccnyjpwy</c:paymentnetworktransactionid> <c:cardcategory>j1</c:cardcategory> <c:cardgroup>0</c:cardgroup> </c:ccauthreply> <c:cccapturereply> <c:reasoncode>100</c:reasoncode> <c:amount>75.00</c:amount> <c:reconciliationid>1094820975023470</c:reconciliationid> </c:cccapturereply> <c:receiptnumber>260371</c:receiptnumber> </c:replymessage> Card-Present Processing Using the Simple Order API May 2015 45
Appendix B Examples Sale Using Keyed Data Example 13 Request Message: Sale Using Keyed Data <requestmessage xmlns="urn:schemas-cybersource-com:transaction-data-1.86"> <merchantid>janesplants</merchantid> <merchantreferencecode>abc123</merchantreferencecode> <purchasetotals> <currency>usd</currency> <grandtotalamount>75.00</grandtotalamount> </purchasetotals> <pos> <entrymode>keyed</entrymode> <cardpresent>y</cardpresent> <terminalcapability>2</terminalcapability> </pos> <card> <accountnumber>4111111111111111</accountnumber> <expirationmonth>12</expirationmonth> <expirationyear>2016</expirationyear> <cardtype>001</cardtype> </card> <ccauthservice run="true"> <commerceindicator>retail</commerceindicator> </ccauthservice> <cccaptureservice run="true"/> </requestmessage> Card-Present Processing Using the Simple Order API May 2015 46
Appendix B Examples Example 14 Reply Message: Sale Using Keyed Data <c:replymessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.86"> <c:merchantreferencecode>abc123</c:merchantreferencecode> <c:requestid>0305782650000167905080</c:requestid> <c:decision>accept</c:decision> <c:reasoncode>100</c:reasoncode> <c:purchasetotals> <c:currency>usd</c:currency> </c:purchasetotals> <c:ccauthreply> <c:reasoncode>100</c:reasoncode> <c:amount>75.00</c:amount> <c:authorizationcode>831000</c:authorizationcode> <c:avscode>2</c:avscode> <c:processorresponse>00</c:processorresponse> <c:reconciliationid>1094820975023470</c:reconciliationid> <c:paymentnetworktransactionid>0412mccnyjpwy</c:paymentnetworktransactionid> <c:cardcategory>j1</c:cardcategory> <c:cardgroup>0</c:cardgroup> </c:ccauthreply> <c:cccapturereply> <c:reasoncode>100</c:reasoncode> <c:amount>75.00</c:amount> <c:reconciliationid>1094820975023470</c:reconciliationid> </c:cccapturereply> <c:receiptnumber>260371</c:receiptnumber> </c:replymessage> Card-Present Processing Using the Simple Order API May 2015 47
Appendix B Examples Sale Using EMV Technology with a Contact Read Example 15 Request Message: Sale Using EMV Technology with a Contact Read <requestmessage xmlns="urn:schemas-cybersource-com:transaction-data-1.86"> <merchantid>janesplants</merchantid> <merchantreferencecode>abc123</merchantreferencecode> <purchasetotals> <currency>usd</currency> <grandtotalamount>75.00</grandtotalamount> </purchasetotals> <pos> <entrymode>contact</entrymode> <cardpresent>y</cardpresent> <terminalcapability>4</terminalcapability> <trackdata>%b4111111111111111^smith/betty^16121200123456789012**xxx******?*; 4111111111111111=16121200XXXX00000000?*</trackData> </pos> <ccauthservice run="true"> <commerceindicator>retail</commerceindicator> </ccauthservice> <cccaptureservice run="true"/> <emvrequest> <combinedtags>9f3303204000950500000000009f3704518823719f100706011103a000009f260 81E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F0206000000002 0005F2A0208409F0306000000000000</combinedTags> <cardsequencenumber>001</cardsequencenumber> </emvrequest> </requestmessage> Card-Present Processing Using the Simple Order API May 2015 48
Appendix B Examples Example 16 Reply Message: Sale Using EMV Technology with a Contact Read <c:replymessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.86"> <c:merchantreferencecode>abc123</c:merchantreferencecode> <c:requestid>0305782650000167905080</c:requestid> <c:decision>accept</c:decision> <c:reasoncode>100</c:reasoncode> <c:purchasetotals> <c:currency>usd</c:currency> </c:purchasetotals> <c:ccauthreply> <c:reasoncode>100</c:reasoncode> <c:amount>75.00</c:amount> <c:authorizationcode>831000</c:authorizationcode> <c:avscode>2</c:avscode> <c:processorresponse>00</c:processorresponse> <c:reconciliationid>1094820975023470</c:reconciliationid> <c:paymentnetworktransactionid>0412mccnyjpwy</c:paymentnetworktransactionid> <c:cardcategory>j1</c:cardcategory> <c:cardgroup>0</c:cardgroup> </c:ccauthreply> <c:cccapturereply> <c:reasoncode>100</c:reasoncode> <c:amount>75.00</c:amount> <c:reconciliationid>1094820975023470</c:reconciliationid> </c:cccapturereply> <c:receiptnumber>260371</c:receiptnumber> <c:emvreply> <c:combinedtags>9f3303204000950500000000009f3704518823719f100706011103a000009f2 6081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000 020005F2A0208409F0306000000000000</c:combinedTags> </c:emvreply> </c:replymessage> Card-Present Processing Using the Simple Order API May 2015 49
Appendix B Examples Sale Using EMV Technology with a Contactless Read Example 17 Request Message: Sale Using EMV Technology with a Contactless Read <requestmessage xmlns="urn:schemas-cybersource-com:transaction-data-1.86"> <merchantid>janesplants</merchantid> <merchantreferencecode>abc123</merchantreferencecode> <purchasetotals> <currency>usd</currency> <grandtotalamount>75.00</grandtotalamount> </purchasetotals> <pos> <entrymode>contactless</entrymode> <cardpresent>y</cardpresent> <terminalcapability>5</terminalcapability> <trackdata>%b4111111111111111^smith/betty^16121200123456789012**xxx******?*; 4111111111111111=16121200XXXX00000000?*</trackData> </pos> <ccauthservice run="true"> <commerceindicator>retail</commerceindicator> <capturedate>0823</capturedate> </ccauthservice> <cccaptureservice run="true"/> <emvrequest> <combinedtags>9f3303204000950500000000009f3704238561349f100706011103a000009f260 88717A1A173EAA04D9F36020065820200009C01009F1A0208409A030006209F0206000000002 0005F2A0208409F0306000000000000</combinedTags> <cardsequencenumber>001</cardsequencenumber> </emvrequest> </requestmessage> Card-Present Processing Using the Simple Order API May 2015 50
Appendix B Examples Example 18 Reply Message: Sale Using EMV Technology with a Contactless Read <c:replymessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.86"> <c:merchantreferencecode>abc123</c:merchantreferencecode> <c:requestid>0305782650000167905080</c:requestid> <c:decision>accept</c:decision> <c:reasoncode>100</c:reasoncode> <c:purchasetotals> <c:currency>usd</c:currency> </c:purchasetotals> <c:ccauthreply> <c:reasoncode>100</c:reasoncode> <c:amount>75.00</c:amount> <c:authorizationcode>831000</c:authorizationcode> <c:avscode>2</c:avscode> <c:processorresponse>00</c:processorresponse> <c:reconciliationid>1094820975023470</c:reconciliationid> <c:paymentnetworktransactionid>0412mccnyjpwy</c:paymentnetworktransactionid> <c:cardcategory>j1</c:cardcategory> <c:cardgroup>0</c:cardgroup> </c:ccauthreply> <c:cccapturereply> <c:reasoncode>100</c:reasoncode> <c:amount>75.00</c:amount> <c:reconciliationid>1094820975023470</c:reconciliationid> </c:cccapturereply> <c:receiptnumber>260371</c:receiptnumber> <c:emvreply> <c:combinedtags>9f3303204000950500000000009f3704518823719f100706011103a000009f2 6081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000 020005F2A0208409F0306000000000000</c:combinedTags> </c:emvreply> </c:replymessage> Card-Present Processing Using the Simple Order API May 2015 51
Appendix B Examples Authorization Using Point-to-Point Encryption Example 19 Request Message: Authorization Using Point-to-Point Encryption <requestmessage xmlns="urn:schemas-cybersource-com:transaction-data-1.86"> <merchantid>mymerchantid123</merchantid> <merchantreferencecode>9876</merchantreferencecode> <purchasetotals> <currency>usd</currency> <grandtotalamount>30.00</grandtotalamount> </purchasetotals> <pos> <entrymode>swiped</entrymode> <cardpresent>y</cardpresent> <terminalcapability>2</terminalcapability> <paymentdata>02d700801f3c20008383252a363031312a2a2a2a2a2a2a2a303030395e46444d53 202020202020202020202020202020202020202020205e323231322a2a2a2a2a2a2a2a3f2a3b 363031312a2a2a2a2a2a2a2a303030393d323231322a2a2a2a2a2a2a2a3f2a7a75ad15d25217 290c54b3d9d1c3868602136c68d339d52d98423391f3e631511d548fff08b414feac9ff6c6de de8fb09bae870e4e32f6f462d6a75fa0a178c3bd18d0d3ade21bc7a0ea687a2eef64551751e5 02d97cb98dc53ea55162cdfa395431323439323830303762994901000001a000731a8003 </paymentdata> <devicereaderdata>4649443d4944544543482e556e694d61672e416e64726f69642e53646b76 31</deviceReaderData> <encryptionalgorithm>tdes</encryptionalgorithm> <encodingmethod>hex</encodingmethod> </pos> <ccauthservice run="true"> <commerceindicator>retail</commerceindicator> <ccauthservice> </requestmessage> Example 20 Reply Message: Authorization Using Point-to-Point Encryption <c:replymessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.86"> <c:merchantreferencecode>9876</c:merchantreferencecode> <c:requestid>3965463790780176056470</c:requestid> <c:decision>accept</c:decision> <c:reasoncode>100</c:reasoncode> <c:purchasetotals><c:currency>usd</c:currency></c:purchasetotals> <c:ccauthreply> <c:reasoncode>100</c:reasoncode> <c:amount>30.00</c:amount> <c:authorizationcode>888888</c:authorizationcode> <c:avscode>1</c:avscode> <c:processorresponse>100</c:processorresponse> <c:reconciliationid>64709061ythmp2lf</c:reconciliationid> </c:ccauthreply> </c:replymessage> Card-Present Processing Using the Simple Order API May 2015 52