1STMILE MIDDLEWARE INTEGRATION GUIDE - VERSION 1.5.21 JUNE 17, 2021 - ONLINE MERCHANT CENTER
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
1stMILE™ MiddleWare Integration Guide Version 1.5.21 June 17, 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 Redmond, WA 98052 www.1stmile.com © 2021 1stMILE, LLC. All rights reserved.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Copyright This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. This document does not provide you with any legal rights to any intellectual property in 1stMILE product. You may use this document for your internal, reference purposes. © 2021 1stMILE, LLC. All rights reserved. All trademarks are property of their respective owners. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 1 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Contents Copyright ...................................................................................................................................................................................... 1 Contents........................................................................................................................................................................................ 2 Overview ....................................................................................................................................................................................... 5 Requirements .............................................................................................................................................................................. 5 Installation.................................................................................................................................................................................... 5 Library-Only ............................................................................................................................................................................ 5 ATSSecurePostUICmd ......................................................................................................................................................... 5 Client Application ................................................................................................................................................................. 5 Multi-Merchant Client Application ................................................................................................................................ 5 SecurePost Listener.............................................................................................................................................................. 6 RDP............................................................................................................................................................................................. 6 32-bit/64-bit ................................................................................................................................................................................ 6 ISV Certification.......................................................................................................................................................................... 6 Merchant Configuration ......................................................................................................................................................... 6 Credit Facility............................................................................................................................................................................... 7 Text to Pay.................................................................................................................................................................................... 7 Text to Authorize ....................................................................................................................................................................... 7 Begin Accepting Payments .................................................................................................................................................... 7 1stMILE MiddleWare Reference........................................................................................................................................... 9 Data Elements ........................................................................................................................................................................ 9 TransactionType ......................................................................................................................................................... 9 Isv .................................................................................................................................................................................. 10 Merchant .................................................................................................................................................................... 11 Options ....................................................................................................................................................................... 11 Transaction ................................................................................................................................................................ 11 Contact ....................................................................................................................................................................... 11 Address ....................................................................................................................................................................... 12 Applicant .................................................................................................................................................................... 12 FleetCard .................................................................................................................................................................... 13 Invoice ......................................................................................................................................................................... 13 LineItem...................................................................................................................................................................... 14 Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 2 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 PhotoID....................................................................................................................................................................... 16 Recurring.................................................................................................................................................................... 17 Report ......................................................................................................................................................................... 18 ReturnImage ............................................................................................................................................................. 18 Vehicle......................................................................................................................................................................... 20 Transaction Types .............................................................................................................................................................. 20 Configuration ........................................................................................................................................................... 20 Sale/Auth ................................................................................................................................................................... 21 Auth Reversal ........................................................................................................................................................... 26 Post .............................................................................................................................................................................. 27 Refund......................................................................................................................................................................... 29 Credit ........................................................................................................................................................................... 30 Void .............................................................................................................................................................................. 32 Account Lookup ...................................................................................................................................................... 33 Account Payment.................................................................................................................................................... 34 Account Payment Reversal ................................................................................................................................. 35 Check Sale ................................................................................................................................................................. 36 Check Refund ........................................................................................................................................................... 39 Check Void ................................................................................................................................................................ 41 Credit Application................................................................................................................................................... 42 Synchrony Car Care QuickScreen ..................................................................................................................... 43 Synchrony Car Care Credit Decision ............................................................................................................... 44 Synchrony Car Care Accept/Decline QuickScreen ..................................................................................... 45 Token Add ................................................................................................................................................................. 46 Token Lookup .......................................................................................................................................................... 47 Text to Pay ................................................................................................................................................................. 47 Text to Authorize .................................................................................................................................................... 49 Declined Services .................................................................................................................................................... 51 Invoice Upload ......................................................................................................................................................... 53 Gift Card Activation................................................................................................................................................ 54 Gift Card Add Value ............................................................................................................................................... 55 Gift Card Balance Inquiry ..................................................................................................................................... 55 Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 3 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Gift Card Deactivation........................................................................................................................................... 56 Retrieve Merchant Info ......................................................................................................................................... 57 Transaction Search ................................................................................................................................................. 57 End of Day Report .................................................................................................................................................. 58 Credit App Report .................................................................................................................................................. 59 Signature Capture .................................................................................................................................................. 60 Terminal Prompt ..................................................................................................................................................... 61 About........................................................................................................................................................................... 61 Result...................................................................................................................................................................................... 62 Appendix A: Data Flow Diagram ...................................................................................................................................... 67 Appendix B: Account Types ................................................................................................................................................ 68 Appendix C: EMV Result Elements................................................................................................................................... 69 Appendix D: Line Item Product Codes ........................................................................................................................... 70 Appendix E: Fleet Card Service Codes ............................................................................................................................ 78 Appendix F: Fleet Measurement Codes ......................................................................................................................... 78 Appendix G: Migrate from legacy parameters to JSON API .................................................................................. 79 Create Transaction Objects ............................................................................................................................................ 79 Examples ............................................................................................................................................................................... 80 Result Object ....................................................................................................................................................................... 86 Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 4 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Overview 1stMILE™ MiddeWare is a PA-DSS certified Windows library that provides an easy way to integrate your custom application with the Merchant Partners Payment Gateway. It offers a powerful plug-in payment experience for your application, giving your merchants the ability to accept EMV, swipe, and private label payments. 1stMILE also provides capabilities for tokenized and recurring transactions as well as check processing. Payment acceptance channels include card present, card not present, and tokenized. 1stMILE provides hardware integration to several terminals, signature pads, and check scanners, alleviating the necessary expertise, development, and certification required for communicating with hardware devices. 1stMILE also relieves PCI requirements pertaining to cardholder data access and retention. Requirements 1stMILE MiddleWare is a .NET object (including support for COM interoperability) capable of running on Windows 8.1 or later versions. 1stMILE MiddleWare requires .NET Framework 4.5.2. Installation There are several ways to integrate with 1stMILE MiddleWare. Library-Only The library-only installer, ATSSecurePostUILib, will install only the files necessary for integration. This installer can be bundled in your own software installer or run separately by the customer. ATSSecurePostUICmd ATSSecurePostUICmd is a Windows command-line application that provides access to all the features of the 1stMILE MiddleWare library. It allows users to process transactions and perform all other capabilities provided by the 1stMILE MiddleWare library. Client Application ATSSecurePostUI_NET is a simple Windows application with an interactive graphical use interface. It allows users to process transactions and perform all other capabilities provided by the 1stMILE MiddleWare library. Multi-Merchant Client Application FirstMileClient is a Windows application that provides access to all the features of the 1stMILE MiddleWare library. It allows configuring multiple merchants within the UI, switching between the merchants, and executing transactions for the selected merchant. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 5 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 SecurePost Listener The SecurePost Listener application is a light-weight web server intended to run on an intranet. It accepts HTTP requests on the workstation and launches 1stMILE based on the request. A typical usage scenario is for a user of a custom application on an intranet server to kick off an action in the application that sends an HTTP request to the user’s computer on which SecurePost Listener has been installed. When SecurePost Listener receives the request, it displays the appropriate transaction processing dialog and upon completion responds to the server request with the transaction results. RDP 1stMILE RDP provides both Client and Server components to use 1stMILE in an RDP environment. Like SecurePost Listener, 1stMILE RDP allows a user running an application on an RDP server to trigger a request on the client PC where the card reader is attached, returning the transaction results back to the server application. 32-bit/64-bit Due to hardware manufacturer limitations, 1stMILE 32-bit and 64-bit binaries support different hardware integrations. For more information and a list of components available on each platform, please refer to developer.1stmile.com. ISV Certification To use 1stMILE MiddleWare, you must certify your integration with Merchant Partners and obtain an ISV key. Please contact Merchant Partners ISV Integration Services for more information: Integrator Relationship Management IRMSupport@MerchantPartners.com Merchant Configuration A merchant is uniquely identified in the Merchant Partners Payment Gateway with an Account ID, an optional Sub ID, and a Merchant PIN. The Configuration API allows the merchant to configure these settings to be stored locally. By storing the merchant settings locally, your app does not need to send the merchant information for every transaction. All API calls allow you to override the default merchant information. See the Configuration API for more information. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 6 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Credit Facility The 1stMILE Credit Facility allows your merchants to convert low value credit card transactions to high value Automotive Private Label Card Transactions to help customers fund their repairs, offers High Ticket Financing, and Non-Prime Financing. Text to Pay The 1stMILE Text to Pay feature allows a merchant to initiate a sale but instead of requesting a payment card from the customer, a Pay Link can be sent to the customer via text allowing the customer to pay the invoice online. In addition to requiring the customer’s mobile phone number, an invoice in PDF format may be included for the customer to view. Text to Authorize The 1stMILE Text to Authorize feature allows a merchant to send a quote to a customer for the customer’s authorization. An Authorize Link requires the customer’s mobile phone number and a PDF detailing the work to be performed. The customer provides authorization by reviewing the quote and signing online. Begin Accepting Payments You can begin accepting payments in your application by using FirstMile, a class designed to make building your application's checkout flow as easy as possible. You can start using 1stMILE MiddleWare by importing FirstMile into the class where you require the payment form to be shown. To start a transaction, you need to instantiate an FirstMile object, subscribe to events (optional), then call a method to show the default payment form (e.g., in a button action handler): // build the parameters string requestJson = @"{ 'transactionType': 'Sale', 'transaction': { 'amount': 1.23 } }"; // instantiate the FirstMile object var firstMile = new FirstMile(); // call the process method var responseJson = firstMile.Process(requestJson); // handle the final response Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 7 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 FirstMileResponse response = JsonConvert.DeserializeObject(responseJson); Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 8 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 1stMILE MiddleWare Reference The FirstMile class provides a single method: string Process(string jsonRequest); The jsonRequest parameter is a JSON string that consists of elements and objects. The transactionType element tells 1stMILE what you want to do and determines what other elements are supported in the jsonRequest object. Data Elements The following sections define the data elements that comprise the JSON request element for the process method. TransactionType The transactionType element is a string that identifies the operation you are requesting from 1stMILE. You can perform the following operations with 1stMILE: • Configuration • Card Processing o Sale o Auth o Auth Reversal o Post o Refund o Credit o Void o Account Lookup o Account Payment o Account Payment Reversal • Check Processing o Sale o Refund o Void • Credit Application o Credit App o Checkout Open Loans o Additional Synchrony Car Care operations: ▪ QuickScreen ▪ Credit Decision Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 9 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 ▪ Accept Quick Screen ▪ Decline Quick Screen • Gift Card o Activation o Add Value o Balance Inquiry o Deactivation • Reporting o Transaction Search o End of Day Report o Credit App Report • Text to Pay • Text to Authorize • Declined Services • Invoice Upload • Tokenization • Signature Capture • Terminal Prompt • About See the Transaction Types section for more information. Isv The isv object identifies the ISV integration and allows you to associate user/workstation information with a transaction. This object should be included in every request. Name Type Description isv object Container for ISV information. key string Alphanumeric value that identifies the ISV. Merchant Partners provides this value for every ISV integration. version string This is the version of your software. Useful for troubleshooting. user string If your application tracks the user associated with the session, you can include the name with the transaction. nameOfStation string If your application tracks the workstation associated with the session, you can include the name with transaction. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 10 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Merchant The merchant object defines the Merchant Partners Payment Gateway account to use for the request, as well as merchant details for printed receipts. Name Type Description merchant object Container for merchant information. acctID string 5-character alphanumeric value, provided by Merchant Partners, that identifies the merchant. subID string 5-character alphanumeric value, provided by Merchant Partners, that identifies the Sub ID for the merchant. merchantPIN string The Merchant PIN value provided by Merchant Partners. merchantName string Specifies the Merchant name to be printed on the first line of the receipt. merchantAddress string Specifies the Merchant address to be printed on the second line of the receipt. merchantCityStateZip string Specifies the Merchant city, state and zip to be printed on the third line of the receipt. merchantPhone string Specifies the Merchant phone number to be printed on the fourth line of the receipt. receiptText string Specifies additional text to print on the bottom of the receipt (up to 1024 characters). Options The options object allows you to control the presentation and behavior of 1stMILE for a request. The elements contained in this object may only apply to some transaction types. Refer to Transaction Types for more information. Transaction The transaction object allows you to specify information for a transaction. Refer to Transaction Types for more information. Contact The contact object allows you to specify contact information for a transaction. Name Type Description contact object Container for contact information. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 11 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 firstName string Customer’s first name. lastName string Customer’s last name. email string Customer’s email. businessPhone string Customer’s business phone number. mobilePhone string Customer’s mobile phone number. phone string Customer’s phone number. dob string Customer’s date of birth. Address The address object allows you to specify address information for a transaction. Name Type Description address object Container for address information. address1 string Customer’s street address. address2 string Customer’s street address second line. city string Customer’s address city. state string Customer’s address 2-letter state abbreviation. zip string Customer’s address zip code. Applicant The applicant object allows you to specify details about an applicant. Name Type Description applicant object Container for the applicant information. firstName string First Name Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 12 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 middleName string Middle Name/Initial lastName string Last Name suffix string Name Suffix email string Email mobilePhone string Mobile Phone Number phone string Phone Number address object Container for address information. FleetCard The fleetCard object allows you to specify details about a fleet card transaction. Name Type Description fleetCard object Container for return image information. departmentNumber string Department # service prompt (WEX only). driverID string Driver ID service prompt. fleetRC string Fleet card restriction code. idNumber string ID service prompt. jobNumber string Job # service prompt (WEX only). miscNumericData string Cust Data service prompt (WEX only). odometerReading string Odometer service prompt. purchaseDevSequenceNumber string Purchase Dev. Seq. # service prompt (WEX only). vehicleID string Vehicle ID service prompt. Invoice The invoice object allows you to specify details for a repair order. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 13 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Name Type Description invoice object Container for the invoice information. invoiceNumber string Invoice Number. partsAmount decimal Parts Amount. laborAmount decimal Labor Amount. miscAmount decimal Miscellaneous Amount. taxAmount decimal Invoice Tax. totalAmount decimal Invoice Total. startDate string Invoice start date. endDate string Invoice end date. description string Description of goods and services. associateID string Associate ID. invoiceData string Invoice PDF (Base-64 encoded). invoiceFilename string Local filename of the PDF to include with the invoice. lineItems array See lineItem. LineItem The lineItem object allows you to specify line item information for a transaction. Name Type Description lineItems object Container of line item information. quantity number Item quantity. unitOfMeasure string Unit of measure. See Appendix F for valid values. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 14 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 unitPrice decimal Unit price. lineItemTotal decimal Total line item price. If this element is omitted, it will be generated from the Unit Price and Quantity if those elements are provided. productNumber string Item Part Number or SKU that identifies the item being sold. productCode string Product code. See Appendix D for valid values. description string Item description. serviceDescription number Value Description 0 Other 1 Alignment 2 Change Air Filter 3 Change Battery 4 Change Brake Pads/Shoes 5 Change Cabin Filter 6 Change Coolant 7 Change Spark Plugs 8 Change Wipers 9 Emission Check 10 Multi Point Inspection 11 Oil Change 12 Service Battery 13 State Inspection Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 15 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 14 Tire Balance 15 Tire Repair 16 Tire Rotation 17 Transmission Service mfg string Manufacturer or vendor. mfgProductNumber string Manufacturer or vendor product number. labor bool Indicates whether the item is labor. declinedService bool Indicates the item was a declined service. registrationType string Indicates the type of registration to which the registrationNumbers apply. Valid values are Value Description D D.O.T. registrationNumbers [string] Array of registration numbers. This also requires the registrationType element. PhotoID The photoID object allows you to specify the customer’s photo ID information. Name Type Description photoID object Container for photo ID information. expiration string Either “MM/YY”, “MM/YYYY”, or “MM/DD/YYYY” ID expiration date. number string ID number. type string Type of ID. Valid values are Value Description D Driver License (default) Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 16 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 G Green Card M Military ID P Passport S State ID Card state string Two-character state abbreviation. Recurring The recurring object allows you to specify details when creating a recurring transaction. Name Type Description recurring object Container for the recurring information. amount decimal Recurring billing amount. billingCycle number Recurring billing cycle: Value Description 0 None 1 Weekly 2 Monthly 3 Quarterly 4 Semi-Annual 5 Annual 6 Bi-Weekly 7 Bi-Annual 8 Quad-Weekly (28 days) 9 One-Time Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 17 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 10 Daily 11 Bi-Monthly billMax number Number of occurrences: Value Description -1 Unlimited 0 None > 0 Value provided create bool Default the UI option to be checked. startDate string Start date of the recurring billing (MM/DD/YYYY). Report The report object allows you to specify details about a reporting request. Name Type Description report object Container for return image information. actionType string For the Transaction Search report, this value allows filtering the report: Value Description AuthReversal Shows Auth-only transactions. Refund Shows Sale and Post transactions. Void Shows Approved transactions. date string Date for report in format “MM/DD/YYYY”. endDate string End date for report in format “MM/DD/YYYY”. ReturnImage The returnImage object allows you to specify how you want the signature returned (if applicable). Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 18 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Name Type Description returnImage object Container for return image information. encoding string Identifies the encoding in which you would like the signature image returned: Value Description Base64 Radix-64 encoding; the base 64 digits in ascending order from zero are the uppercase characters 'A' to 'Z', the lowercase characters 'a' to 'z', the numerals '0' to '9', and the symbols '+' and '/'. The valueless character, '=', is used for trailing padding. BinHex Binary to Hexadecimal encoding; each byte is converted to a hexadecimal string representation. If this parameter is not specified, no image is returned. format string Identifies the image format in which you would like the signature image returned: Value Description Bmp Windows bitmap. Gif Graphics Interchange Format Jpeg Joint Photographic Experts Group image format Png Portable Network Graphics image format Tiff Tag Image File Format resize bool If true, indicates that 1stMILE should resize the signature image to the height and width specified. height number Maximum image height (in pixels). width number Maximum image width (in pixels). Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 19 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Vehicle The vehicle object allows you to specify details about a vehicle. Name Type Description vehicle object Container for the recurring information. vin string Vehicle Identification Number year number Vehicle Year make string Vehicle Make model string Vehicle Model odometerReading number Odometer Reading licenseNumber string License Plate Number licenseState string License Plate Two-letter State Abbreviation Transaction Types The following sections describe the different transaction types and the data elements that are applicable for each type. Configuration The Configuration transaction type presents the Configuration dialog where the merchant can change 1stMILE settings. Name Type Description transactionType string Configuration merchant object Container for merchant information. See the merchant data element. options object Container for options. centerScreen bool Show the Configuration dialog centered on the screen. Example { "transactionType": "Configuration" } Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 20 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 Result When the user clicks OK on the Configuration dialog, 1stMILE returns the merchant element. Example: [ { "status": "accepted", "merchant": { "acctID": "TEST01", "subID": "IOS01", "merchantPIN": "xurG2kGYLFXPFRqXjFBs", "merchantName": "iOS Tester", "merchantAddress": "1000 1st Ave.", "merchantCityStateZip": "Redmond, WA 98052", "merchantPhone": "888-555-1212", "receiptText": "" } } ] If the user clicks Cancel on the Configuration dialog, 1stMILE returns a canceled status: [ { "status": "cancelled } ] If an error occurs, 1stMILE returns an error status: [ { "status": "error", "error": "Error details." } ] Sale/Auth Use the Sale transaction type to process a payment card sale. Use the Auth transaction type to authorize a card payment. An Auth requires a follow up Post transaction to charge the card. Name Type Description transactionType string Sale or Auth or CheckoutOpenLoans isv object Container for ISV information. See the isv data element merchant object Container for merchant information. See the merchant data element. options object Container for options. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 21 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 centerScreen bool Show the dialog centered on the screen. exitOnCancelledSwipe bool Automatically close the dialog if a card insert/swipe is canceled. exitOnDecline bool Automatically close the dialog if the transaction is declined. lockParameters bool Lock the following fields so they are read-only if data was passed into the call: Order Number, Amount, Tax Amount/Exempt, and Cashback. requireSignature bool Require a signature regardless of the transaction type. This overrides signatureOptional. sigAnnotation1 string Line of text to embed in the signature image. Annotations appear above the signature and may affect the height of the image. sigAnnotation2 string Additional line of text to embed in the signature image. sigAnnotation3 string Additional line of text to embed in the signature image. sigAnnotation4 string Additional line of text to embed in the signature image. signatureOptional bool Make the signature optional for PIN Debit transactions. signaturePrompt string Specifies the prompt to display on the hardware device (if supported) for signature capture operations. tokenize bool Specify true to tokenize the sale. Additionally, if a credit application popup is successful, the newly created account will be tokenized. This setting is ignored If tokenization is not enabled. transaction object Container for transaction details. amount decimal Order amount of the transaction. amountToFinance decimal Value of amount to finance when closing a repair order as part of the sale. billingAccountNumber string Account number that the merchant uses to identify the customer in their system. Applies to PINless debit transactions. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 22 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 cardholderRefNum string If P3 transactions are enabled, this parameter may be used to specify a card holder reference number. (AMEX Commercial Card only) cashbackAmount decimal Specifies the cashback amount (e.g., 1.23) chargeDescriptor string If P3 transactions are enabled, this parameter may be used to describe the charge. (AMEX Commercial Card only) clinicAmount decimal Clinic amount. (FSA transactions only) dentalAmount decimal Dental amount. (FSA transactions only) ebtApprovalCode string If Food Stamp Voucher Sale is selected, a Food Stamp Voucher Sale group is displayed under the Credit Card group. The required 4-6 alphanumeric Approval Code field may be pre-populated with this parameter. ebtTransactionType string The default selection in the Transaction Type group can be controlled with the following values: Value Description EBT Select the EBT option. CashBenefitSale EBT Cash Benefits Purchase FoodStampSale EBT Food Stamp Purchase FoodStampVoucherSale EBT Food Stamp Voucher Sale CashBenefitWithdrawal EBT Cash Benefit Withdrawal BalanceInquiry EBT Balance Inquiry CashBenefitBalanceInquiry EBT Cash Benefit Balance Inquiry FoodStampBalanceInquiry EBT Food Stamp Balance Inquiry Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 23 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 last4Digits string The last four digits of the payment card or bank account number. Required to identify a tokenized account. memo string Transaction memo; 256 character maximum. merchantOrderNumber string A merchant or POS value to reference the transaction. poCustomerRefId string If P3 transactions are enabled, this parameter may be used to specify a cardholder's customer ID or reference number for the Purchase Card. rxAmount decimal RX amount. (FSA transactions only) supplierRefNum string If P3 transactions are enabled, this parameter may be used to specify a reference number that helps the merchant identify the charge in case of an inquiry by the credit card company. (AMEX Commercial Card only) taxAmount decimal Amount of tax collected for the transaction. taxExempt bool Indicates whether the transaction is tax exempt. token number Numeric token supplied by Merchant Partners. totalHealthCareAmount decimal Total Health Care Amount. (FSA transactions only) visionAmount decimal Vision amount. (FSA transactions only) voiceAuthCode string Voice authorization code. If prompted during a transaction to contact the customer’s issuing bank, the bank provides a code that authorizes the transaction. This code is required to charge the card. contact object Container for contact information. See the contact data element. address object Container for customer address. See the address data element declinedServices object Container for declined services. See the invoice data element. fleetCard object Container for fleet card information. See the fleetCard data element. invoice object Container for invoice data. See the invoice data element. Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 24 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 lineItems array Array of line items. See the lineItems data element. photoID object Container for customer photo ID. See the photoID data element. recurring object Container for recurring details. See the recurring data element. returnImage object Container for return image details. See the returnImage data element. vehicle object Container for vehicle information. See the vehicle data element. Example 1: This minimal example will use the locally saved settings for the merchant and options to run a sale for $12.34: { "transactionType": "Sale", "isv": { "key": "ISVXXX", "version": "1.2.0" }, "transaction": { "amount": 12.34 } } Example 2: This example will override the locally saved settings to run an authorization: { "transactionType": "Auth", "isv": { "key": "ISVXXX", "version": "1.2.0", "nameOfStation": "PC-XXX-001", "user": "Lane-001" }, "merchant": { "acctID": "MTEST", "subID": "ISV01", "merchantPIN": "MPXXXX", "merchantName": "Tester ", "merchantAddress": "11121 Willows Road NE", "merchantCityStateZip": "Redmond, WA 98052", "merchantPhone": "425-497-9909" }, "options": { "lockParameters": true }, Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 25 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 "transaction": { "amount": 12.34, "taxAmount": 1.23, "merchantOrderNumber": "PO-54322" } } Result: [ { "status": "accepted", "receiptGroup1": { "transactionType": "SALE", "transactionResult": "APPROVED", "timestamp": "7/26/2019 4:29:48 PM", "merchantOrderNumber": "MP170726-1629", "merchantID": "XXXXXXXXXXX0041", "termID": "187398", "amount": 12.34, "entryMethod": "C", "accountType": "Visa", "account": "XXXXXXXXXXXX0119", "name": "TEST CARD 01 UAT USA", "orderID": "1057848522", "transactionID": "1316080868", "authCode": "54418A" }, "receiptGroup2": [ "APPLABEL: VISA CREDIT", "AID: A0000000031010", "TVR: 8080008000", "IAD: 06010A03A0A800", "TSI: 6800", "ARQC: DF98468C4F4A7527", "ARC: 00", "CVM: S" ] } ] Auth Reversal Reverse an outstanding authorization-only transaction. Name Type Description transactionType string AuthReversal isv object Container for ISV information. See the isv data element Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 26 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 merchant object Container for merchant information. See the merchant data element. options object Container for options. centerScreen bool Show the dialog centered on the screen. exitOnDecline bool Automatically close the Sale dialog if the transaction is declined. lockParameters bool Lock the following fields so they are read-only if data was passed into the call: Order Number, Amount, Tax Amount/Exempt, and Cashback. processImmediate bool Attempt to process the transaction instead of showing the dialog. transaction object Container for transaction details. orderID number Order ID of the original transaction. transactionID number Transaction ID of the original transaction. Example: { "transactionType": "AuthReversal", "isv": { "key": "ISVXXX", "version": "1.2.0", "nameOfStation": "PC-XXX-001", "user": "Lane-001" }, "transaction": { "amount": 12.34, "orderID": 222345678, "transactionID": 333456789 } } Post Capture funds for an auth-only transaction initiated. Name Type Description transactionType string Post isv object Container for ISV information. See the isv data element Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 27 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 merchant object Container for merchant information. See the merchant data element. options object Container for options. centerScreen bool Show the dialog centered on the screen. exitOnDecline bool Automatically close the Sale dialog if the transaction is declined. lockParameters bool Lock the following fields so they are read-only if data was passed into the call: Order Number, Amount, Tax Amount/Exempt, and Cashback. processImmediate bool Attempt to process the transaction instead of showing the dialog. transaction object Container for transaction details. amount decimal Transaction amount. refCode string RefCode of the original transaction. Not required if you supply transactionID. transactionID number Transaction ID of the original transaction. Not required if you supply refCode. declinedServices object Container for declined services. See the invoice data element. invoice object Container for invoice data. See the invoice data element. Example 1: { "transactionType": "AuthReversal", "isv": { "key": "ISVXXX", "version": "1.2.0", "nameOfStation": "PC-XXX-001", "user": "Lane-001" }, "transaction": { "amount": 12.34, "transactionID": 333456789 } } Example 2: { "transactionType": "AuthReversal", "isv": { Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 28 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
1stMILE™ MiddleWare Integration Guide Version 1.5.21 – June 17, 2021 "key": "ISVXXX", "version": "1.2.0", "nameOfStation": "PC-XXX-001", "user": "Lane-001" }, "transaction": { "amount": 12.34, "refCode": "333456789-0123456" } } Refund Refund an existing transaction. Name Type Description transactionType string Refund isv object Container for ISV information. See the isv data element merchant object Container for merchant information. See the merchant data element. options object Container for options. centerScreen bool Show the dialog centered on the screen. exitOnDecline bool Automatically close the Sale dialog if the transaction is declined. lockParameters bool Lock the following fields so they are read-only if data was passed into the call: Order Number, Amount, Tax Amount/Exempt, and Cashback. processImmediate bool Attempt to process the transaction instead of showing the dialog. transaction object Container for transaction details. amount decimal Transaction amount. orderID string Order ID of the original transaction. transactionID number Transaction ID of the original transaction. Example: { "transactionType": "Refund", Copyright © 2021 1stMILE, LLC 8383 158th Ave NE, Suite 100 • Redmond, Washington 98052 Page 29 of 93 www.1stMILE.com • (425) 497-9909 Proprietary and Confidential Information. Unauthorized reproduction or distribution prohibited.
You can also read