CyberSource ios SDK for Apple Pay

Size: px
Start display at page:

Download "CyberSource ios SDK for Apple Pay"

Transcription

1 Title Page CyberSource ios SDK for Apple Pay Developer Guide March 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA Phone:

2 CyberSource Contact Information For general information about our company, products, and services, go to For sales questions about any CyberSource Service, or call or (toll free in the United States). For support information about any CyberSource Service, visit the Support Center at 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 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 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

3 Contents CONTENTS Recent Revisions to This Document 5 About This Guide 6 Audience and Purpose 6 Conventions 6 Note, Important, and Warning Statements 6 Text and Command Conventions 7 Related Documents 7 Customer Support 7 Chapter 1 Working with CyberSource ios SDK for Apple Pay 8 Introduction 8 Requirements 8 How Apple Pay Works 9 Payment Processing with Apple Pay 10 Generating a Unique Transaction Signature 14 Appendix A Methods 17 authorizationfinishedwithgatewayresponse 17 Syntax 17 Input Parameters 17 Output Parameters 17 Return Value 17 initsessionwithusername 18 Syntax 18 Input Parameters 18 Output Parameters 18 Return Value 18 CyberSource ios SDK for Apple Pay Developer Guide March

4 Contents performauthorizationwithtransaction 19 Syntax 19 Input Parameters 19 Output Parameters 19 Return Value 19 performsalewithtransaction 20 Syntax 20 Input Parameters 20 Output Parameters 20 Return Value 20 salefinishedwithgatewayresponse 21 Syntax 21 Input Parameters 21 Output Parameters 21 Return Value 21 Appendix B Objects and Properties 22 VMposAddress 22 Properties 22 VMposAuthenticationDelegate 23 VMposEncryptedPayment 23 Properties 23 VMposError 24 Properties 25 VMposGatewayDelegate 25 VMposGatewayResponse 26 Properties 26 VMposGatewayResponseDecisionType 27 VMposItem 28 Properties 28 VMposPurchaseDetails 28 Properties 28 VMposSettings 29 Properties 29 VMposTransactionObject 29 Properties 29 Appendix C Sample Code 31 CyberSource ios SDK for Apple Pay Developer Guide March

5 Recent Revisions to This Document REVISIONS Release March 2015 February 2015 December 2014 September 10, 2014 September 9, 2014 September 5, 2014 Changes Changed all instances of card association to payment card company. This revision contains only editorial changes and no technical updates. This revision contains only editorial changes and no technical updates. Updated the link to the SDK in Step 1 in "Payment Processing with Apple Pay," page 10. Initial release. Second beta release. CyberSource ios SDK for Apple Pay Developer Guide March

6 About This Guide ABOUT GUIDE Audience and Purpose This guide is written for application developers who want to use Apple Pay in an ios application and use information from Apple to process payments through CyberSource. Using the CyberSource ios SDK for Apple Pay requires software development skills. You must write code that uses the tools provided by the SDK to integrate payment processing functionality into an ios application. Conventions Note, Important, and Warning Statements Note A Note contains helpful suggestions or references to material not contained in the document. Important An Important statement contains information essential to successfully completing a task or learning a concept. CyberSource ios SDK for Apple Pay Developer Guide March

7 About This Guide Text and Command Conventions Convention Usage bold Field and service names in text; for example: Include the ics_applications field. Items that you are instructed to act upon; for example: Click Save. italic Filenames and pathnames. For example: Add the filter definition and mapping to your web.xml file. Placeholder variables for which you supply particular values. monospace XML elements. Code examples and samples. Text that you enter in an API environment; for example: Set the davservice_run field to true. Related Documents CyberSource Document: Getting Started with Apple Pay on the CyberSource Platform Refer to the Support Center for complete CyberSource technical documentation: Apple Document: PassKit Framework Reference Customer Support For support information about any CyberSource service, visit the Support Center: CyberSource ios SDK for Apple Pay Developer Guide March

8 Working with CyberSource ios SDK for Apple Pay CHAPTER 1 Introduction The CyberSource ios SDK for Apple Pay enables you to add payment processing functionality to your ios application. The CyberSource ios SDK for Apple Pay works in conjunction with the Apple PassKit Framework, which provides you with a binary large object (blob) of encrypted payment data during the checkout process. The CyberSource ios SDK for Apple Pay enables your ios application to: Securely send encrypted payment data to CyberSource. Complete the checkout process. Requirements You must establish secure communication channels between your ios application, Apple, and CyberSource by following these steps. Step 1 Step 2 Step 3 Meet the requirements described in Getting Started with Apple Pay on the CyberSource Platform. Enroll in Apple Pay and register with CyberSource as described in Getting Started with Apple Pay on the CyberSource Platform. Obtain an Apple Pay Certificate as described in the PassKit Framework Reference. These secure communication channels: Enable your ios application, Apple, and CyberSource to securely send and receive encrypted payment information. Protect you from exposure to sensitive payment information, which may alleviate your Payment Card Industry (PCI) burden. CyberSource ios SDK for Apple Pay Developer Guide March

9 Chapter 1 Working with CyberSource ios SDK for Apple Pay How Apple Pay Works The following diagram shows how to use the CyberSource ios SDK for Apple Pay to integrate Apple Pay into your order management system. 1 Your ios application ( Merchant App ) uses the Apple PassKit Framework to request payment data from Apple. 2 Apple sends encrypted payment data to your ios application. The encrypted payment data includes a token instead of a primary account number (PAN). 3 Your ios application requests and receives a unique transaction signature from your secure server. 4 Your ios application uses the CyberSource ios SDK for Apple Pay to forward the encrypted payment data to CyberSource. 5 CyberSource decrypts the payment data and forwards the information to the payment network, including your processor and the relevant payment card company. CyberSource ios SDK for Apple Pay Developer Guide March

10 Chapter 1 Working with CyberSource ios SDK for Apple Pay Payment Processing with Apple Pay Follow these steps to integrate Apple Pay into your order management system. Step 1 Obtain the CyberSource ios SDK for Apple Pay. a Download the file: b c Run the sample application to become familiar with the SDK. Include the SDK in your ios application. Step 2 Step 3 Step 4 Step 5 As described in the PassKit Framework Reference, use the Apple PassKit Framework to integrate payment acceptance functionality into your ios application. Use the Apple PassKit Framework to retrieve the encrypted payment data for a transaction. Generate a unique transaction signature as described in "Generating a Unique Transaction Signature," page 14. Choose the credit card transaction type that is relevant to your business and supported by your processor. The CyberSource ios SDK for Apple Pay supports two types of credit card transactions: Authorization only Authorization and capture Note An authorization confirms that the customer's account has adequate funds for the purchase. A capture transfers funds from the customer's bank to your bank. If you do not know which transaction type to use, consult your merchant account provider. CyberSource ios SDK for Apple Pay Developer Guide March

11 Chapter 1 Working with CyberSource ios SDK for Apple Pay Step 6 Set the mode for the CyberSource environment. Set the cybsenvironment property to ENV_LIVE or ENV_TEST to configure the CyberSource ios SDK for Apple Pay to communicate with either the CyberSource production environment or test environment. Example 1 Setting the Mode for the CyberSource Environment VMposGateway* gateway = [VMposGateway sharedinstance]; [gateway initsessionwithusername:merchantid withmerchantid:merchantid withfingerprint: fingerprint withdelegate:self]; [VMposSettings sharedinstance].cybsenvironment = ENV_TEST; CyberSource ios SDK for Apple Pay Developer Guide March

12 Chapter 1 Working with CyberSource ios SDK for Apple Pay Step 7 Example 2 Create a transaction object and send it to CyberSource. Include the encrypted payment data and transaction signature in the transaction object. See Appendix B, "Objects and Properties," on page 22. Creating a Transaction Object and Sending It to CyberSource VMposItem *item = [[VMposItem alloc] init]; item.name = NSLocalizedString(@"Item no 1", nil); item.price = [NSDecimalNumber decimalnumberwithmantissa:12 exponent:0 isnegative:no]; VMposTransactionObject *transactionobject = [VMposTransactionObject createtransaction:vmpos_transaction_payment]; [transactionobject additem:item]; [transactionobject calculatetotals]; // TODO: The encrypted payment is created by the client application based on // specification from the SOAP toolkit API. The following values are place holders. VMposEncryptedPayment* payment = [VMposEncryptedPayment new]; payment.encodeddata = ksampleencrypteddataencodedvalue; payment.encodedmetadata = kmetadataencodedvalue; payment.paymentsolution = 001; // Purchase details. VMposPurchaseDetails* purchasedetails = [VMposPurchaseDetails new]; purchasedetails.partialindicator = NO; // Billing information. VMposAddress* billto = [VMposAddress new]; billto.firstname billto.lastname billto. billto.street1 Pine St."; billto.city billto.state billto.postalcode billto.country // Save transaction information. transactionobject.encryptedpayment = payment; transactionobject.purchasedetails = purchasedetails; transactionobject.transactioncode transactionobject.billto = billto; // Get transaction signature from server. NSString* fingerprint = [getfingerprintwithtransaction:transactionobject withmerchantid:@"mpos_paymentech"]; // Communicate with CyberSource. VMposGateway* gateway = [VMposGateway sharedinstance]; [gateway initsessionwithusername:@"mpos_paymentech" withmerchantid:@"mpos_paymentech" withfingerprint: fingerprint withdelegate:self]; [gateway performauthorizationwithtransaction:transactionobject withdelegate:self]; CyberSource ios SDK for Apple Pay Developer Guide March

13 Chapter 1 Working with CyberSource ios SDK for Apple Pay Step 8 Example 3 Process the transaction response from CyberSource. Processing the Transaction Response from CyberSource //! Provides feedback from completed authorization transaction request. /*! \param paramresponsedata gateway data retrieved from server (contains information about transaction status) \param paramerror an error if request failed */ - (void) authorizationfinishedwithgatewayresponse:(vmposgatewayresponse*) paramresponsedata witherror:(vmposerror*)paramerror self.authorized = YES; [self updatestatusmessagewithresponse:(vmposgatewayresponse*)paramresponsedata witherror: paramerror]; - (void) updatestatusmessagewithresponse:(vmposgatewayresponse*)paramresponsedata witherror: (NSError*) paramerror NSMutableString* s = [NSMutableString new]; if (paramresponsedata) [s Details:"]; [s * Accepted: %@", [s * Auth Amount: %@", paramresponsedata.authorizedamount.stringvalue]; if (paramerror) [s appendformat:@"\nerror: %@", paramerror.localizeddescription]; [self updatestatusmessage:s]; CyberSource ios SDK for Apple Pay Developer Guide March

14 Chapter 1 Working with CyberSource ios SDK for Apple Pay Generating a Unique Transaction Signature Important You must generate the transaction signature on your secure server because it contains your SOAP toolkit API transaction security key, which cannot be stored on a device. Step 1 If you do not already have a SOAP toolkit API transaction security key for your CyberSource account, generate one. In the Business Center, under Account Management in the left navigation panel, select Transaction Security Keys. Follow the instructions for security keys for the SOAP toolkit API. When you send a transaction request to CyberSource, CyberSource uses the transaction key to create a transaction-specific signature for your server. CyberSource verifies the transaction-specific signature. These steps ensure that a transaction initiated in an ios application is verified by your server. Warning CyberSource stores a copy of the transaction key in the Business Center. You must keep your own copy of the transaction key in a safe place. You are responsible for maintaining adequate security and control of your transaction key. Do not store the transaction key in your ios application code on the device. If the transaction key is compromised, you must generate a new transaction key. Important SOAP toolkit API transaction security keys expire every three years. You must have a process for updating your transaction security keys. Step 2 Create a string by concatenating the following strings in the following order: SHA-1 hash of your SOAP toolkit API transaction security key. Your CyberSource merchant ID. Merchant reference code for the transaction. Use the same value as the merchant reference code that you will include in your payment request. Grand total amount. Use the same value as the grand total amount that you will include in your payment request. Timestamp in UTC format (YYYY-MM-DDThh:mm:ssZ). CyberSource ios SDK for Apple Pay Developer Guide March

15 Chapter 1 Working with CyberSource ios SDK for Apple Pay Example 4 Creating a Concatenated String private static String getsha1(string soaptoolkittransactionkey) throws NoSuchAlgorithmException, UnsupportedEncodingException MessageDigest crypt = MessageDigest.getInstance("SHA-1"); crypt.reset(); crypt.update(soaptoolkittransactionkey.getbytes("utf-8")); byte[] bytes = crypt.digest(); StringBuffer hash = new StringBuffer(); for (int i = 0; i < bytes.length; i++) String hex = Integer.toHexString(0xFF & bytes[i]); if (hex.length() == 1) hash.append('0'); hash.append(hex); return hash.tostring(); String inputstringforpassword = sha1merchantsecurityid + merchantid + merchantreferencecode + grandtotalamounttmp + timestamputc; Example of concatenated string: 9661f7c395706c2bfd f5a9f6de866f06merchant_idinvoice_id T02:04:01Z Step 3 Example 5 Generate an HMAC-SHA256 value as shown in the following example. Use the concatenated string from Step 2 for both the key and message inputs for the HMAC function. Generating an HMAC-SHA256 Value private static String gethmacsha256(string inputstringforpassword) throws InvalidKeyException, NoSuchAlgorithmException, UnsupportedEncodingException SecretKeySpec key = new SecretKeySpec((inputStringForPassword).getBytes("UTF-8"), MAC_ALGORITHM_SHA256); Mac mac = Mac.getInstance(MAC_ALGORITHM_SHA256); mac.init(key); byte[] bytes = mac.dofinal(inputstringforpassword.getbytes("ascii")); StringBuffer hash = new StringBuffer(); for (int i = 0; i < bytes.length; i++) String hex = Integer.toHexString(0xFF & bytes[i]); if (hex.length() == 1) hash.append('0'); hash.append(hex); return hash.tostring(); CyberSource ios SDK for Apple Pay Developer Guide March

16 Chapter 1 Working with CyberSource ios SDK for Apple Pay Example 6 Testing Your HMAC-256 Algorithm a b Use the following values as inputs for your HMAC-256 algorithm: Merchant Key: SAMPLE_MERCHANT_SOAP_TOOLKIT_TRANSACTION_KEY Merchant ID: SAMPLE_MERCHANT_ID Merchant Ref Code: ref_code_ Total Amount: 0.23 Timestamp UTC: T20:03:04Z Your HMAC-256 algorithm should produce the following value: 76d71942b3e41b e292b972cbe9a2f9dbb8399dfa27a2f551fa5b24de9# T20:03:04Z Step 4 Create a unique transaction signature by concatenating the following strings: a HMAC-SHA256 that you created in the previous step. b # c Timestamp from Step 2. Example of transaction signature: 74c853b cb1f38b0708c619bb1b14384e7ac3679c411431a7c4fa6e14# T02:04:01Z Example 7 Creating a Unique Transaction Signature String finalsignature = hashedsignature + "#" + timestamputc; CyberSource ios SDK for Apple Pay Developer Guide March

17 Methods APPENDIX A authorizationfinishedwithgateway Response Callback method that provides response data about an authorization request. Syntax - (void) authorizationfinishedwithgatewayresponse: (VMposGatewayResponse*)paramResponseData witherror:(vmposerror*)paramerror; Input Parameters paramresponsedata Response data about an authorization request. See "VMposGatewayResponse," page 26. paramerror Error information. See "VMposError," page 24. Output Parameters None. Return Value None. CyberSource ios SDK for Apple Pay Developer Guide March

18 Appendix A Methods initsessionwithusername Uses a user name, merchant ID, and transaction signature to initialize a CyberSource object for the transaction. You must initialize a session for every transaction. Syntax - (void) initsessionwithusername:(nsstring*)paramusername withmerchantid:(nsstring*)parammerchantid withfingerprint:(nsstring*)fingerprint withdelegate:(id<vmposauthenticationdelegate>)paramdelegate; Input Parameters paramusername Your user name. This value identifies a person. parammerchantid Your CyberSource merchant ID. This value identifies an organization or company. fingerprint Transaction signature as described in "Generating a Unique Transaction Signature," page 14. paramdelegate The paramdelegate delegate must conform to the VMposAuthenticationDelegate protocol. See "VMposAuthenticationDelegate," page 23. Output Parameters None. Return Value None. CyberSource ios SDK for Apple Pay Developer Guide March

19 Appendix A Methods performauthorizationwithtransaction Authorizes a payment. You can authorize only one payment at a time. Syntax - (BOOL) performauthorizationwithtransaction: (VMposTransactionObject*) atransaction withdelegate:(id<vmposgatewaydelegate>)adelegate; Input Parameters atransaction The atransaction data must be complete for the payment to be authorized. See "VMposTransactionObject," page 29. adelegate The adelegate delegate must conform to the VMposGatewayDelegate protocol. See "VMposGatewayDelegate," page 25. Output Parameters None. Return Value YES: The payment was authorized. NO: The payment was not authorized. CyberSource ios SDK for Apple Pay Developer Guide March

20 Appendix A Methods performsalewithtransaction Performs a sale transaction, which authorizes a payment and captures the authorization. You can request only one sale transaction at a time. Syntax - (BOOL) performsalewithtransaction:(vmpostransactionobject*) atransaction withdelegate:(id<vmposgatewaydelegate>)adelegate; Input Parameters atransaction The atransaction data must be complete for the payment to be authorized. See "VMposTransactionObject," page 29. adelegate The adelegate delegate must conform to the VMposGatewayDelegate protocol. See "VMposGatewayDelegate," page 25. Output Parameters None. Return Value YES: The payment was authorized and captured. NO: The payment was not authorized and captured. CyberSource ios SDK for Apple Pay Developer Guide March

21 Appendix A Methods salefinishedwithgatewayresponse Callback method that provides response data about a sale request. A sale authorizes a payment and captures the authorization. Syntax - (void) salefinishedwithgatewayresponse: (VMposGatewayResponse*)paramResponseData witherror:(vmposerror*)paramerror; Input Parameters paramresponsedata Response data about an authorization request. See "VMposGatewayResponse," page 26. paramerror Error information. See "VMposError," page 24. Output Parameters None. Return Value None. CyberSource ios SDK for Apple Pay Developer Guide March

22 Objects and Properties APPENDIX B VMposAddress:NSObject <NSCopying, NSCoding> Details about an address. Use this object for all address types including billing addresses and shipping addresses. Properties (nonatomic, copy) NSString *city; City. (nonatomic, copy) NSString *country; Country. Use a 2-character code that is listed in ISO Standard Country Codes. (nonatomic, copy) NSString * ; address for the person or business associated with the address. (nonatomic, copy) NSString *firstname; First name of the person associated with the address. (nonatomic, copy) NSString *lastname; Last name of the person associated with the address. (nonatomic, copy) NSString *phonenumber; Phone number for the person or business associated with the address. CyberSource ios SDK for Apple Pay Developer Guide March

23 Appendix B Objects and Properties (nonatomic, copy) NSString *postalcode; Postal code. This value must consist of 5 to 9 digits. If the billing country is the U.S., the 9-digit postal code must follow this format: [5 digits][dash][4 digits]. Example: If the billing country is Canada, the 6-digit postal code must follow this format: [alpha][numeric][alpha][space][numeric][alpha][numeric]. Example: A1B 2C3. (nonatomic, copy) NSString *state; State or province. Set this value to a 2-character state or province code. For possible values, see the State, Province, and Territory Codes for the United States and Canada. (nonatomic, copy) NSString *street1; First line of the street address. Example: 100 Main St. (nonatomic, copy) NSString *street2; Second line of the street address. Example: Suite VMposAuthenticationDelegate <NSObject> Implement this protocol to retrieve the CyberSource authentication response. VMposEncryptedPayment:NSObject Encrypted payment data. For client-side encrypted payments, use this object instead of card payment data. Properties (nonatomic, strong) NSString* encodedmetadata; Format of the encrypted payment data. Obtain this value from Apple. CyberSource ios SDK for Apple Pay Developer Guide March

24 Appendix B Objects and Properties (nonatomic, strong) NSString* encodeddata; Encrypted Apple Pay payment data. Obtain the encrypted payment data from Apple. (nonatomic, strong) NSString* paymentsolution; Type of payment solution that is being used for the transaction. The value for Apple Pay is 001. VMposError:NSError Error information. This object derives from NSError and uses the NSError object properties. For descriptions of these errors, see reason codes in Credit Card Services Using the Simple Order API. Possible values: VMPOS_GATEWAY_ERROR_TYPE_UNKNOWN VMPOS_GATEWAY_ERROR_MISSING_FIELDS VMPOS_GATEWAY_ERROR_FIELDS_CONTAINS_INVALID_DATA VMPOS_GATEWAY_ERROR_ONLY_PARTIAL_APPROVED VMPOS_GATEWAY_ERROR_GENERAL_SYSTEM_FAILURE VMPOS_GATEWAY_ERROR_SERVER_TIMEOUT VMPOS_GATEWAY_ERROR_SERVICE_DID_NOT_FINISH VMPOS_GATEWAY_ERROR_DID_NOT_PASS_AVS VMPOS_GATEWAY_ERROR_ISSUING_BANK_HAS_QUESTIONS VMPOS_GATEWAY_ERROR_EXPIRED_CARD VMPOS_GATEWAY_ERROR_GENERAL_DECLINE VMPOS_GATEWAY_ERROR_INSUFFICIENT_FUNDS VMPOS_GATEWAY_ERROR_STOLEN_OR_LOST_CARD VMPOS_GATEWAY_ERROR_ISSUING_BANK_UNAVAILABLE VMPOS_GATEWAY_ERROR_INACTIVE_CARD VMPOS_GATEWAY_ERROR_CID_DID_NOT_MATCH VMPOS_GATEWAY_ERROR_CREDIT_LIMIT VMPOS_GATEWAY_ERROR_INVALID_CVN VMPOS_GATEWAY_ERROR_NEGATIVE_FILE VMPOS_GATEWAY_ERROR_DID_NOT_PASS_CVN_CHECK VMPOS_GATEWAY_ERROR_INVALID_ACCOUNT_NUMBER VMPOS_GATEWAY_ERROR_CARD_TYPE_NOT_EXPECTED CyberSource ios SDK for Apple Pay Developer Guide March

25 Appendix B Objects and Properties VMPOS_GATEWAY_ERROR_GENERAL_DECLINE_BY_PROCESSOR VMPOS_GATEWAY_ERROR_PROBLEM_WITH_INFORMATION VMPOS_GATEWAY_ERROR_CAPTURE_AMOUNT_EXCEEDS VMPOS_GATEWAY_ERROR_PROCESSOR_FAILURE VMPOS_GATEWAY_ERROR_ALREADY_REVERSED VMPOS_GATEWAY_ERROR_ALREADY_CAPTURED VMPOS_GATEWAY_ERROR_TRANSACTION_AMOUNT_MUST_MATCH_PREVIOUS_ AMOUNT VMPOS_GATEWAY_ERROR_CARD_TYPE_INVALID VMPOS_GATEWAY_ERROR_REQUEST_ID_INVALID VMPOS_GATEWAY_ERROR_NO_CORRESPONDING VMPOS_GATEWAY_ERROR_TRANSACTION_SETTLED_OR_REVERSED VMPOS_GATEWAY_ERROR_NOT_VOIDABLE VMPOS_GATEWAY_ERROR_REQUEST_FOR_CAPTURE_THAT_WAS_VOIDED VMPOS_GATEWAY_ERROR_TIMEOUT_AT_PAYMENT_PROCESSOR VMPOS_GATEWAY_ERROR_STAND_ALONE_CREDITS_NOT_ALLOWED VMPOS_GATEWAY_ERROR_NETWORK_CONNECTION VMPOS_GATEWAY_ERROR_INVALID_TOKEN Properties (nonatomic, copy) NSString *extramessage; Extended message about the error. VMposGatewayDelegate <NSObject> Implement this protocol to retrieve the CyberSource gateway response. CyberSource ios SDK for Apple Pay Developer Guide March

26 Appendix B Objects and Properties VMposGatewayResponse:NSObject <NSCopying> Response from CyberSource. Properties (nonatomic, strong) NSDictionary *additionalparameters; Response details that do not have an object property. For information about these parameters, see reply fields in Credit Card Services Using the Simple Order API. (nonatomic, copy) NSString *authcode; Authorization code. Returned only when the processor returns this value. (nonatomic, strong) NSDecimalNumber *authorizedamount; Amount that was authorized. (nonatomic, strong) NSDate *date; Date of authorization. (nonatomic, assign) VMposGatewayResponseDecisionType decision; Result of the request. See "VMposGatewayResponseDecisionType," page 27. isaccepted - (BOOL) isaccepted; Possible values: YES: CyberSource accepted the transaction. NO: CyberSource did not accept the transaction. (nonatomic, strong) NSString *requestid; Identifier for the request. CyberSource ios SDK for Apple Pay Developer Guide March

27 Appendix B Objects and Properties (nonatomic, strong) NSString *resultcode; Numeric value corresponding to the result of the request. For possible values and descriptions, see reason codes in Credit Card Services Using the Simple Order API. (nonatomic, strong) NSArray *transactions; See "VMposTransactionObject," page 29. (nonatomic, assign) VMposGatewayApiType type; Type of transaction. Possible values: VMPOS_GATEWAY_API_TYPE_AUTHORIZATION: Authorization only VMPOS_GATEWAY_API_TYPE_SALE: Authorization and capture VMposGatewayResponseDecision Type Result of the request. Possible values: VMPOS_GATEWAY_DECISION_TYPE_ACCEPT: Request was accepted. VMPOS_GATEWAY_DECISION_TYPE_ERROR: System error. VMPOS_GATEWAY_DECISION_TYPE_FAILED: Request failed. VMPOS_GATEWAY_DECISION_TYPE_REJECT: Request was declined. VMPOS_GATEWAY_DECISION_TYPE_UNKNOWN: Unknown error. CyberSource ios SDK for Apple Pay Developer Guide March

28 Appendix B Objects and Properties VMposItem:NSObject Item that the customer is purchasing. Properties (nonatomic, copy) NSDecimalNumber *individualtax; Tax amount for one item. Up to 15 digits. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. Set this property to -1 if individualtax is not defined. (nonatomic, copy) NSString *name; Name of the item. (nonatomic, copy) NSDecimalNumber *price; Price of the item. Up to 15 digits. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. (nonatomic) NSInteger quantity; Quantity of the item. VMposPurchaseDetails:NSObject <NSCopying> Details about the purchase. Properties (nonatomic, strong) NSString *currency; Currency used for the order. Set this value to a 3-character currency code. For the possible values, see the ISO Standard Currency Codes. CyberSource ios SDK for Apple Pay Developer Guide March

29 Appendix B Objects and Properties (nonatomic) BOOL partialindicator; You must set the value for the property to NO. VMposSettings:NSObject <NSCoding> CyberSource environment setting. Properties (nonatomic, assign) CYBS_ENVIRONMENT cybsenvironment; Setting for the CyberSource environment. Possible values: ENV_LIVE: Production environment. ENV_TEST: Test environment. VMposTransactionObject:NSObject All the information required to perform a transaction. Properties (atomic, strong) VMposAddress *billto; Billing address. See "VMposAddress," page 22. (atomic, strong) VMposEncryptedPayment *encryptedpayment; Information about the encrypted payment data. See "VMposEncryptedPayment," page 23. CyberSource ios SDK for Apple Pay Developer Guide March

30 Appendix B Objects and Properties (atomic, strong) VMposGatewayResponse *gatewayresponse; Response from CyberSource. See "VMposGatewayResponse," page 26. (atomic, strong, readonly) NSArray *items; Information about the items that the customer is purchasing. This value is read-only. Use the additem method to add items to this property. See "VMposItem," page 28. (atomic, strong) VMposPurchaseDetails *purchasedetails; Details about the purchase. See "VMposPurchaseDetails," page 28. (atomic, strong) VMposAddress *shipto; Shipping address. See "VMposAddress," page 22. (atomic, strong) NSDecimalNumber *totalamount; Total transaction amount, including tax, shipping fees, tip, and any other charges. Up to 15 digits. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. (atomic, copy) NSString *transactioncode; Transaction identifier. CyberSource ios SDK for Apple Pay Developer Guide March

31 Sample Code APPENDIX C #import <CommonCrypto/CommonDigest.h> #import <CommonCrypto/CommonHMAC.h> #import <CYBSCoreSDK/CYBSCoreSDK.h> #import <CYBSCoreSDK/NSDecimalNumber+Utils.h> #import "MPDemoViewController.h" static NSString* kmetadataencodedvalue static NSString* const kpaymentsolutiondefaultvalue static NSString* const kenvtest static NSString* const kenvlive static NSString* const kkeymerchantid static NSString* const kkeymerchantexternalid static NSString* const kkeytransactionkey static NSString* const kkeyencryptedblob static NSString* const MPDemoViewController () <VMposAuthenticationDelegate, VMposGatewayDelegate, UIPickerViewDataSource, (nonatomic, strong) VMposGateway* (nonatomic, assign) BOOL (nonatomic, weak) NSDictionary* (nonatomic, strong) NSArray* (weak, nonatomic) IBOutlet UISegmentedControl (weak, nonatomic) IBOutlet UIButton (weak, nonatomic) IBOutlet UITextView (weak, nonatomic) IBOutlet UITextField (weak, nonatomic) IBOutlet MPDemoViewController -(void) configureaccounts // This is sample static data that demonstrates how to call the API // to process transactions. For real transactions, data is generated // dynamically in code. CyberSource ios SDK for Apple Pay Developer Guide March

32 Appendix C Sample Code //--WARNING! // Transaction key should never be stored on the device or // embedded in code. The usage of the transaction key below is // shown only for demo purposes. QO9GBipbDeLefkR0H8uzcHM/odWFRs/ ZPgjvGJNXuN7sibsFUXCjZmmLyKSNJ8zfJbXEkf4wKe57QGJuiBWZ0Lh8vewj7OiyrpJmv8Ow q9znynnjebla5iyqzrfkdffnubyogubvcngaghf6+oat16xmqcxm0v3sohuenhbtxq1c4aedp A2Q7eMIOXU2o/J3hRP18AQcBdA5fPIzvoxUJg1hxcwGPZcT6ycSMCR9Pzm/ kjoh69y3xzdylhb2xv1emliny6vnnrxzs0rzs2lykkploz+k2jj9z3e1fjmzt6krpucoht3yz Bg==", //--NOTE // Encrypted blob is a Base64 of the JSON object that contains // the encrypted payment data. This blob is generated by the // PassKit API. 4ZWVoWU5rYjJtRFh5RjhoWVFNclNOR1JiNzY2MU9hRGZWTjlMQXVuYnNMbG9tbTBuU0ZITCts Z1JQYjBGUFRWamN6eFVxa1A4akFEcEtwc2xtTUEwU0xRSFhcL1hYeUdTeSsxWDZBT0ltOUs0Y VBTWGt3MkNITkZaR0ErSktVdXdFbDBldlVWMnZUU0RONkZ2V1NmK0RwZUM0YlhpaUlLQ1IreE 9tWkhyc3ByTEhwNGJwcEdGYkduZ0tiTXZ0MjhIc2lNZVdIdXNLTDJ1cWNGVzdhcU5acSszZnQ 0QUxpbk1CYWJWS1ZnZjF4XC8ycitremIwcmhTQkFPWkJcLzlCNldQR3RhOWhUNmdlTERyTGMw NTNVWFZndXJOWkZ1WU1IOG1uM09MQlp2K1FmZ0dsVlRaODZYRmRMQlh4VUp2VHl3QVwvVCs1c 29KSUhJeWJNQnhiM3ZSTXR1MGhyZ2o2YUNxRWlkVWZOb0JnVEhlSDk4NStsR1BcL3lxQUk2dk pdrepcz1dxc2dvxc9nm0prm1q5qzc5vmd2uhzibjjmoezhylrts2pfvt0ilcj2zxjzaw9uijo irunfdjeilcjozwfkzxiionsiyxbwbgljyxrpb25eyxrhijoiotrlzta1otmznwu1oddlntax Y2M0YmY5MDYxM2UwODE0ZjAwYTdiMDhiYzdjNjQ4ZmQ4NjVhMmFmNmEyMmNjMiIsInRyYW5zY WN0aW9uSWQiOiJjMWNhZjVhZTcyZjAwMzlhODJiYWQ5MmI4MjgzNjM3MzRmODViZjJmOWNhZG YxOTNkMWJhZDlkZGNiNjBhNzk1IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1 HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFB QUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvX C9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC 9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVN ktmdprzv3u1rhbvo0nfjpzepyzujumzzrqkvfrwf4zli4duvzuwtmnhzpymxznljbog5jrgzz RXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQ m9onzlsovfjaefqxc9cl1wvxc84qufbqufcl1wvxc9cl1wvxc9cl1wvxc9clys4nxzxdhb4zw VoUE81eXNMOFl5VlJBZ0VCQTBJQUJDWU1zOWNOSCtTd2pteWJ6TWhrMmVQXC9wYUhMVm1QY25 RaHhzanNpTDBRclwvREhrTmtjOHJXSjhhVGxvRzJGVXoyM3FmU0Z1R1BEcDV4M3dlRWtleHg0 PSIsInB1YmxpY0tleUhhc2giOiJ1T25KZmUyXC9GVjdDRTlqUERIYnZJb2lHUFBWZWYzWndsd zc5bw5rsfwveke9in0sinnpz25hdhvyzsi6ik1jsurrz1lks29aswh2y05buwndb0ljre16q0 NBeThDQVFFeEN6QUpCZ1VyRGdNQ0dnVUFNQXNHQ1NxR1NJYjNEUUVIQWFDQ0Fpc3dnZ0luTUl JQmxLQURBZ0VDQWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lkQlFBd0p6RWxN Q01HQTFVRUF4NGNBR01BYUFCdEFHRUFhUUJBQUhZQWFRQnpBR0VBTGdCakFHOEFiVEFlRncwe E5EQXhNREV3TmpBd01EQmFGdzB5TkRBeE1ERXdOakF3TURCYU1DY3hKVEFqQmdOVkJBTWVIQU JqQUdnQWJRQmhBR2tBUUFCMkFHa0Fjd0JoQUM0QVl3QnZBRzB3Z1o4d0RRWUpLb1pJaHZjTkF RRUJCUUFEZ1kwQU1JR0pBb0dCQU5DOCtrZ3RnbXZXRjFPempnRE5yalRFQlJ1b1wvNU1LdmxN MTQ2cEFmN0d4NDFibEU5dzRmSVhKQUQ3RmZPN1FLaklYWU50MzlyTHl5N3hEd2JcLzVJa1pNN jbuwjjpstfwaju1vwm4zmq0znppcgszznrayvfhwe5mwxb0rzfkovy3svm4mk91cdlntw8xql BWclhUUEhOY3NNOTlFUFVuUHFkYmVHYzg3bTByQWdNQkFBR2pYREJhTUZnR0ExVWRBUVJSTUU CyberSource ios SDK for Apple Pay Developer Guide March

33 Appendix C Sample Code rquviwldqcld0smq3wvo0mzfoq2c3wuztaetuqw5nu1v3sxdzrfzruuriahdbwxdcb0fhmefz UUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0Z2hCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR 0JTc09Bd0lkQlFBRGdZRUFiVUtZQ2t1SUtTOVFRMm1GY01ZUkVJbTJsK1hnOFwvSlh2K0dCVl FKa09Lb3NjWTRpTkRGQVwvYlFsb2dmOUxMVTg0VEh3TlJuc3ZWM1BydjdSVFk4MWdxMGR0Qzh 6WWNBYUFrQ0hJSTN5cU1uSjRBT3U2RU9XOWtKazIzMmdTRTdXbEN0SGJmTFNLZnVTZ1FYOEtY UVl1WkxrMlJyNjNOOEFwWHNYd0JMM2NKMHhnZUF3Z2QwQ0FRRXdPekFuTVNVd0l3WURWUVFES Gh3QVl3Qm9BRzBBWVFCcEFFQUFkZ0JwQUhNQVlRQXVBR01BYndCdEFoQmNsK1BmMytVNHBrMT NuVkQ5bndRUU1Ba0dCU3NPQXdJYUJRQXdEUVlKS29aSWh2Y05BUUVCQlFBRWdZQm83ZXpUUmh XR2dydTBhazB6WHJ5aE1EczBhcGd0Nk9mbGhkSUE5UzBub29uZVlieVF5QTkwalF2c1FYUXcr TTZhcXhQSThNbkxOSndqVk1GdGlsSmlFODg2em9qeEhGbWdyeEZaNGN1Z2E5MjREZWRUY1RZc WtrM3g3T002YTVyTWJqYkF4UGIyQnpDZ0N4K0gyaTk3THBPSjBXQlpBQjNUTUxmcWtsUkRuQT 09In0=", ];, //--NOTE // Environment setting determines the API URL endpoints. kkeyenv: kenvtest self.accountpicker.delegate = self; self.accountpicker.datasource = self; self.selectedaccountdata = self.configuredaccounts[0]; - (IBAction)payButtonTouchDown:(id)sender [self.amounttextfield resignfirstresponder]; NSString* requesttype = [self.requesttypeselection titleforsegmentatindex:self.requesttypeselection.selectedsegmentindex]; [self updatestatusmessage:[nsstring stringwithformat:@"submitting %@ request...", requesttype]]; self.paybutton.enabled = NO; NSString *amounttext = self.amounttextfield.text; NSDecimalNumber *amountvalue = [NSDecimalNumber decimalnumberwithstring:amounttext]; BOOL isdecimal = amountvalue!= nil; if (isdecimal) // Pass in encrypted payment data from PassKit. [self performrequestwithencryptedpaymentdata:self.selectedaccountdata[kkeyencry ptedblob] withpaymentamount:amountvalue]; else self.paybutton.enabled = YES; self.statustext.text valid Amount"; CyberSource ios SDK for Apple Pay Developer Guide March

34 Appendix C Sample Code - (IBAction)requestTypeSelectionValueChanged:(UISegmentedControl *)sender [self updaterequestselection]; -(void) updaterequestselection NSString* requesttype = [self.requesttypeselection titleforsegmentatindex:self.requesttypeselection.selectedsegmentindex]; [self updatestatusmessage:[nsstring stringwithformat:@"tap '%@' to %@ request.", self.paybutton.currenttitle, requesttype]]; - (void) updatestatusmessage: (NSString*) message self.statustext.text = message; self.paybutton.enabled = YES; - (void)performrequestwithencryptedpaymentdata: (NSString*) encryptedpaymentdata withpaymentamount: (NSDecimalNumber*) paymentamount VMposItem *item = [[VMposItem alloc] init]; item.name = NSLocalizedString(@"Item no 1", nil); item.price = paymentamount; VMposTransactionObject *transactionobject = [VMposTransactionObject createtransaction:vmpos_transaction_payment]; [transactionobject additem:item]; [transactionobject calculatetotals]; // Client application creates encrypted payment based on specification // from the Simple Order API. The following values are place holders. VMposEncryptedPayment* payment = [VMposEncryptedPayment new]; payment.encodeddata = encryptedpaymentdata; payment.encodedmetadata = kmetadataencodedvalue; payment.paymentsolution = kpaymentsolutiondefaultvalue; // Purchase details. VMposPurchaseDetails* purchasedetails = [VMposPurchaseDetails new]; purchasedetails.partialindicator = NO; // Sample billing information. VMposAddress* billto = [VMposAddress new]; billto.firstname billto.lastname billto. billto.street1 Pine St."; billto.city billto.state billto.postalcode billto.country CyberSource ios SDK for Apple Pay Developer Guide March

35 Appendix C Sample Code // Save transaction information. transactionobject.encryptedpayment = payment; transactionobject.purchasedetails = purchasedetails; transactionobject.purchasedetails.commerceindicator transactionobject.transactioncode transactionobject.billto = billto; // Build fingerprint. //--WARNING! // Fingerprint generation requires the transaction key. This should // be done on the server. It is shown here only for demo purposes. NSString* merchantid = self.selectedaccountdata[kkeymerchantid]; NSString* fingerprint = [self buildfingerprintwithtransaction:transactionobject withmerchantid:merchantid]; NSLog(@"Fingerprint: %@", fingerprint); VMposGateway* gateway = [VMposGateway sharedinstance]; [gateway initsessionwithusername:merchantid withmerchantid:merchantid withfingerprint: fingerprint withdelegate:self]; if (self.selectedaccountdata[kkeyenv] == kenvlive) [VMposSettings sharedinstance].cybsenvironment = ENV_LIVE; else [VMposSettings sharedinstance].cybsenvironment = ENV_TEST; if (self.requesttypeselection.selectedsegmentindex == 0) [gateway performauthorizationwithtransaction:transactionobject withdelegate:self]; else [gateway performsalewithtransaction:transactionobject withdelegate:self]; - (void)viewdidload [super viewdidload]; [self configureaccounts]; [self updatestatusmessage:[nsstring stringwithformat:@"tap '%@' to submit a test request.", self.paybutton.currenttitle]]; self.amounttextfield.keyboardtype = UIKeyboardTypeDecimalPad; self.amounttextfield.text [self.requesttypeselection setselectedsegmentindex:0]; CyberSource ios SDK for Apple Pay Developer Guide March

36 Appendix C Sample Code - (void)didreceivememorywarning [super didreceivememorywarning]; // Dispose of resources that can be recreated. // Returns the number of 'columns' to display. - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerview return 1; // Returns the # of rows in each component. - (NSInteger)pickerView:(UIPickerView *)pickerview numberofrowsincomponent:(nsinteger)component return self.configuredaccounts.count; - (NSString *)pickerview:(uipickerview *)pickerview titleforrow:(nsinteger)row forcomponent:(nsinteger)component NSDictionary* rowdata = self.configuredaccounts[row]; return [NSString stringwithformat:@"%@ (%@)", rowdata[kkeymerchantid], rowdata[kkeyenv]]; - (void)pickerview:(uipickerview *)pickerview didselectrow:(nsinteger)row incomponent:(nsinteger)component self.selectedaccountdata = self.configuredaccounts[row]; //! Callback for user session initialization. - (void) didinitusersession: (VMposUserSession*) paramusersession witherror:(vmposerror*)paramerror //! Provides feedback from finished authorization transaction request. /*! \param paramresponsedata gateway data retrieved from server (contains information about transaction status) \param paramerror an error if request failed */ - (void) authorizationfinishedwithgatewayresponse:(vmposgatewayresponse *)paramresponsedata witherror:(vmposerror *)paramerror self.authorized = YES; [self updatestatusmessagewithresponse: (VMposGatewayResponse *)paramresponsedata witherror: paramerror]; CyberSource ios SDK for Apple Pay Developer Guide March

37 Appendix C Sample Code //! Provides feedback from finished sale request. /*! \param paramresponsedata gateway data retrieved from server (contains information about transaction status) \param paramerror an error if request failed */ - (void) salefinishedwithgatewayresponse:(vmposgatewayresponse *)paramresponsedata witherror:(vmposerror *)paramerror self.authorized = YES; [self updatestatusmessagewithresponse: (VMposGatewayResponse *)paramresponsedata witherror: paramerror]; - (void) updatestatusmessagewithresponse: (VMposGatewayResponse *)paramresponsedata witherror: (NSError*) paramerror NSMutableString* s = [NSMutableString new]; if (paramresponsedata) [s Details:"]; [s * Accepted: %@", [s * Auth Amount: %@", paramresponsedata.authorizedamount.stringvalue]; if (paramerror) [s appendformat:@"\nerror: %@", paramerror.localizeddescription]; [self updatestatusmessage:s]; /* WARNING! Finger print generation requires the transaction key. This must be done on a secure server. It is shown here only for demo purposes. */ -(NSString*) buildfingerprintwithtransaction: (VMposTransactionObject*) transactionobject withmerchantid: (NSString*) merchantid NSDate* datenow = [NSDate date]; NSString* fingerprintdatestring = [MPDemoViewController formatfingerprintdate:datenow]; NSString* merchanttranskey = self.selectedaccountdata[kkeytransactionkey]; NSString* fgcomponents = [NSString stringwithformat:@"%@%@%@%@%@", [MPDemoViewController stringsha1:merchanttranskey], merchantid, transactionobject.transactioncode, [transactionobject.totalamount gatewaypricestring], fingerprintdatestring]; NSString* hashedfgcomponents = [MPDemoViewController stringhmacsha256:fgcomponents]; CyberSource ios SDK for Apple Pay Developer Guide March

38 Appendix C Sample Code return [NSString stringwithformat:@"%@#%@", hashedfgcomponents, fingerprintdatestring]; +(NSString*) formatfingerprintdate: (NSDate*) date NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init]; NSTimeZone* tz = [NSTimeZone timezonewithname:@"utc"]; [dateformatter setdateformat:@"yyyy-mm-dd't'hh:mm:ss'z'"]; [dateformatter settimezone:tz]; return [dateformatter stringfromdate:date]; + (NSString *)stringsha1:(nsstring *)value const char *cstr = [value cstringusingencoding:nsutf8stringencoding]; NSData *data = [NSData datawithbytes:cstr length:value.length]; uint8_t digest[cc_sha1_digest_length]; // This is an ios5-specific method. // It takes in the data, how much data, and then output format, which in // this case is an int array. CC_SHA1(data.bytes, (uint)data.length, digest); return [self stringhexencode:digest withlength:cc_sha1_digest_length]; + (NSString *)stringsha256:(nsstring *)value const char *cstr = [value cstringusingencoding:nsutf8stringencoding]; NSData *data = [NSData datawithbytes:cstr length:value.length]; uint8_t digest[cc_sha256_digest_length]; // This is an ios5-specific method. // It takes in the data, how much data, and then output format, which in // this case is an int array. CC_SHA256(data.bytes, (uint)data.length, digest); return [self stringhexencode:digest withlength:cc_sha256_digest_ LENGTH]; + (NSString *)stringhmacsha256:(nsstring *)value CCHmacContext ctx; const char* utf8valuestring = [value UTF8String]; uint8_t hmacdata[cc_sha256_digest_length]; CCHmacInit(&ctx, kcchmacalgsha256, utf8valuestring, strlen(utf8valuestring)); CCHmacUpdate(&ctx, utf8valuestring, strlen(utf8valuestring)); CCHmacFinal(&ctx, hmacdata); CyberSource ios SDK for Apple Pay Developer Guide March

39 Appendix C Sample Code return [self stringhexencode:hmacdata withlength:cc_sha256_digest_ LENGTH]; +(NSString*) stringhexencode: (uint8_t*) data withlength: (NSInteger) datalength NSMutableString* output = [NSMutableString stringwithcapacity:datalength * 2]; // Parse through the CC_SHA256 results (stored inside of digest[]). for(int i = 0; i < datalength; i++) [output appendformat:@"%02x", data[i]]; return output; + (NSString*)base64forData:(NSData*)theData const uint8_t* input = (const uint8_t*)[thedata bytes]; NSInteger length = [thedata length]; static char table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz /="; NSMutableData* data = [NSMutableData datawithlength:((length + 2) / 3) * 4]; uint8_t* output = (uint8_t*)data.mutablebytes; NSInteger i; for (i=0; i < length; i += 3) NSInteger value = 0; NSInteger j; for (j = i; j < (i + 3); j++) value <<= 8; if (j < length) value = (0xFF & input[j]); NSInteger theindex = (i / 3) * 4; output[theindex + 0] = table[(value >> 18) & 0x3F]; output[theindex + 1] = table[(value >> 12) & 0x3F]; output[theindex + 2] = (i + 1) < length? table[(value >> 6) & 0x3F] : '='; output[theindex + 3] = (i + 2) < length? table[(value >> 0) & 0x3F] : '='; return [[NSString alloc] initwithdata:data encoding:nsasciistringencoding] CyberSource ios SDK for Apple Pay Developer Guide March

Korean Cyber Payment Services

Korean Cyber Payment Services Title Page Korean Cyber Payment Services Using the Simple Order API April 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information

More information

CyberSource Global Payment Service

CyberSource Global Payment Service Title Page CyberSource Global Payment Service Developer Guide For Bank Transfers, Brazilian Boletos Bancários, and Direct Debits Simple Order API SCMP API March 2015 CyberSource Corporation HQ P.O. Box

More information

PayPal Express Checkout Services

PayPal Express Checkout Services Title Page PayPal Express Checkout s Using the Simple Order API January 2016 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For

More information

Getting Started with Visa Checkout

Getting Started with Visa Checkout Title Page Getting Started with Visa Checkout on the CyberSource Platform September 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information

More information

Recurring Billing. Using the Simple Order API. October 2015. CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095

Recurring Billing. Using the Simple Order API. October 2015. CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 Title Page Recurring Billing Using the Simple Order API October 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general

More information

Getting Started with Fraud Alert

Getting Started with Fraud Alert Title Page Getting Started with Fraud Alert August 2013 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general information

More information

AliPay International Services

AliPay International Services Title Page AliPay International Services Using the Simple Order API September 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information

More information

Electronic Check Services

Electronic Check Services Title Page Electronic Check Services Using the Simple Order API October 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For

More information

Recurring Billing. Using the Simple Order API for CyberSource Essentials. March 2016

Recurring Billing. Using the Simple Order API for CyberSource Essentials. March 2016 Title Page Recurring Billing Using the Simple Order API for CyberSource Essentials March 2016 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact

More information

PINless Debit Card Services

PINless Debit Card Services Title Page PINless Debit Card Services Using the SCMP API September 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general

More information

AliPay International Services

AliPay International Services Title Page AliPay International Services Using the SCMP API May 2016 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general

More information

Electronic Check Services

Electronic Check Services Title Page Electronic Check Services User Guide July 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For technical support

More information

Recurring Billing. Using the SCMP API. October 2015. CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095

Recurring Billing. Using the SCMP API. October 2015. CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 Title Page Recurring Billing Using the SCMP API October 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general information

More information

Recurring Billing. Using the Business Center. May 2015. CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095

Recurring Billing. Using the Business Center. May 2015. CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 Title Page Recurring Billing Using the Business Center May 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general information

More information

CyberSource PayPal Services Implementation Guide

CyberSource PayPal Services Implementation Guide CyberSource PayPal Services Implementation Guide Simple Order API SCMP API September 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information

More information

Getting Started with CyberSource Advanced

Getting Started with CyberSource Advanced Getting Started with CyberSource Advanced for the Simple Order API July 2013 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For

More information

Merchant Account Reports

Merchant Account Reports Title Page Merchant Account Reports User Guide June 2014 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general information

More information

CyberSource Payer Authentication

CyberSource Payer Authentication Title Page CyberSource Payer Authentication Using the Simple Order API September 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information

More information

Title Page. Credit Card Services. User Guide. August 2015. CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095

Title Page. Credit Card Services. User Guide. August 2015. CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 Title Page Credit Card Services User Guide August 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For technical support questions,

More information

CyberSource Secure Acceptance Web/Mobile

CyberSource Secure Acceptance Web/Mobile Title Page CyberSource Secure Acceptance Web/Mobile Configuration Guide October 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information

More information

CyberSource Verification Services

CyberSource Verification Services Title Page CyberSource Verification Services Using the Simple Order API April 2016 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information

More information

Getting Started with Apple Pay on the Authorize.Net Platform

Getting Started with Apple Pay on the Authorize.Net Platform Title Page Getting Started with Apple Pay on the Authorize.Net Platform September 2014 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC

More information

CyberSource Simple Order API Client

CyberSource Simple Order API Client Title Page CyberSource Simple Order API Client Developer Guide September 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For

More information

Universal Management Portal

Universal Management Portal Title Page Universal Management Portal User Guide December 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general information

More information

User s Guide Simple Order API Version 1.14 May 2005

User s Guide Simple Order API Version 1.14 May 2005 CyberSource Business Center Simple Order API User s Guide Simple Order API Version 1.14 May 2005 CyberSource Contact Information For technical support questions, go to the Home page in the Business Center

More information

CyberSource Business Center Simple Order API

CyberSource Business Center Simple Order API CyberSource Business Center Simple Order API User s Guide Simple Order API June 2006 CyberSource Contact Information For technical support questions, go to the Home page in the Business Center to see the

More information

Tax Calculation Service

Tax Calculation Service Title Page Tax Calculation Service Using the SCMP API September 2014 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general

More information

How To Understand And Understand The Bank Account In European Credit Card Transactions

How To Understand And Understand The Bank Account In European Credit Card Transactions Title Page CyberSource Global Payment Service Planning Guide December 2014 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For

More information

Merchant Management Service

Merchant Management Service Title Page Merchant Management Service Developer Guide October 2014 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For general

More information

Authorize.Net Mobile Application

Authorize.Net Mobile Application Authorize.Net Mobile Application ios User Guide October 2015 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC ( Authorize.Net ) has made

More information

CyberSource Merchant Account Guide. March 2008

CyberSource Merchant Account Guide. March 2008 CyberSource Merchant Account Guide March 2008 CyberSource Contact Information Please visit our home page at http://www.cybersource.com. To contact CyberSource Support, call 1-866-203-0975 (Pacific Time),

More information

Merchant Web Services API

Merchant Web Services API Title Page Merchant Web Services API Merchant Boarding XML Guide November 2015 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC ( Authorize.Net

More information

Merchant Web Services API

Merchant Web Services API Merchant Web Services API Automated Recurring Billing (ARB) SOAP Guide Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 042007 Ver.1.0 Authorize.Net LLC ( Authorize.Net

More information

Star Micronics Cloud Services ios SDK User's Manual

Star Micronics Cloud Services ios SDK User's Manual Star Micronics Cloud Services ios SDK User's Manual General Outline This document provides information about the Star Micronics Cloud Services ios SDK, showing guidelines for our customers to build the

More information

ipayment Gateway API (IPG API)

ipayment Gateway API (IPG API) ipayment Gateway API (IPG API) Accepting e-commerce payments for merchants Version 3.2 Intercard Finance AD 2007 2015 Table of Contents Version control... 4 Introduction... 5 Security and availability...

More information

Merchant Web Services API

Merchant Web Services API Merchant Web Services API Automated Recurring Billing (ARB) XML Guide Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 042007 Ver.1.0 Authorize.Net LLC ( Authorize.Net )

More information

Web Services Credit Card Errors A Troubleshooter

Web Services Credit Card Errors A Troubleshooter Web Services Credit Card Errors A Troubleshooter March 2011 This manual and accompanying electronic media are proprietary products of Optimal Payments plc. They are to be used only by licensed users of

More information

CyberSource Business Center

CyberSource Business Center Title Page CyberSource Business Center User Guide January 2015 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information For technical support

More information

Merchant Integration Guide

Merchant Integration Guide Merchant Integration Guide Card Not Present Transactions Authorize.Net Customer Support support@authorize.net Authorize.Net LLC 071708 Authorize.Net LLC ( Authorize.Net ) has made efforts to ensure the

More information

Web Services Credit Card Errors A Troubleshooter

Web Services Credit Card Errors A Troubleshooter Web Services Credit Card Errors A Troubleshooter January 2012 This manual and accompanying electronic media are proprietary products of Optimal Payments plc. They are to be used only by licensed users

More information

Qualtrics Single Sign-On Specification

Qualtrics Single Sign-On Specification Qualtrics Single Sign-On Specification Version: 2010-06-25 Contents Introduction... 2 Implementation Considerations... 2 Qualtrics has never been used by the organization... 2 Qualtrics has been used by

More information

BAM Checkout Mobile Implementation Guide for ios

BAM Checkout Mobile Implementation Guide for ios BAM Checkout Mobile Implementation Guide for ios This is a reference manual and configuration guide for the BAM Checkout Mobile product. It illustrates how to embed credit card and optional ID scanning

More information

Praktikum Entwicklung von Mediensystemen mit ios

Praktikum Entwicklung von Mediensystemen mit ios Praktikum Entwicklung von Mediensystemen mit ios SS 2011 Michael Rohs michael.rohs@ifi.lmu.de MHCI Lab, LMU München Timeline Date Topic/Activity 5.5.2011 Introduction and Overview of the ios Platform 12.5.2011

More information

Magensa Services. Administrative Account Services API Documentation for Informational Purposes Only. September 2014. Manual Part Number: 99810058-1.

Magensa Services. Administrative Account Services API Documentation for Informational Purposes Only. September 2014. Manual Part Number: 99810058-1. Magensa Services Administrative Account Services API Documentation for Informational Purposes Only September 2014 Manual Part Number: 99810058-1.01 REGISTERED TO ISO 9001:2008 Magensa I 1710 Apollo Court

More information

Level II and Level III Processing Using the Simple Order API

Level II and Level III Processing Using the Simple Order API Title Page and Processing Using the Simple Order API Supplement to Credit Card Services Using the Simple Order API March 2015 Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095

More information

CA Nimsoft Service Desk

CA Nimsoft Service Desk CA Nimsoft Service Desk Single Sign-On Configuration Guide 6.2.6 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation

More information

Web Services Credit Card Errors A Troubleshooter

Web Services Credit Card Errors A Troubleshooter Web Services Credit Card Errors A Troubleshooter January 2014 This manual and accompanying electronic media are proprietary products of Optimal Payments plc. They are to be used only by licensed users

More information

etrust Audit Using the Recorder for Check Point FireWall-1 1.5

etrust Audit Using the Recorder for Check Point FireWall-1 1.5 etrust Audit Using the Recorder for Check Point FireWall-1 1.5 This documentation and related computer software program (hereinafter referred to as the Documentation ) is for the end user s informational

More information

Merchant Web Services API

Merchant Web Services API Merchant Web Services API Advanced Integration Method (AIM) XML Guide February 2013 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC ( Authorize.Net

More information

Oracle Fusion Middleware Oracle API Gateway OAuth User Guide 11g Release 2 (11.1.2.4.0)

Oracle Fusion Middleware Oracle API Gateway OAuth User Guide 11g Release 2 (11.1.2.4.0) Oracle Fusion Middleware Oracle API Gateway OAuth User Guide 11g Release 2 (11.1.2.4.0) July 2015 Oracle API Gateway OAuth User Guide, 11g Release 2 (11.1.2.4.0) Copyright 1999, 2015, Oracle and/or its

More information

Java Web Services SDK

Java Web Services SDK Java Web Services SDK Version 1.5.1 September 2005 This manual and accompanying electronic media are proprietary products of Optimal Payments Inc. They are to be used only by licensed users of the product.

More information

Authorize.Net Mobile Application

Authorize.Net Mobile Application Authorize.Net Mobile Application Android User Guide October 2015 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC ( Authorize.Net ) has

More information

Tag Specification Document

Tag Specification Document Measuring the digital world. DIGITAL ANALYTIX ios Mobile Application Measurement Tag Specification Document March 2012 FOR FURTHER INFORMATION, PLEASE CONTACT: comscore, Inc. +1 866 276 6972 sdksupport@comscore.com

More information

Card-Present Processing Using the SCMP API

Card-Present Processing Using the SCMP API Title Page Card-Present Processing Using the SCMP API Supplement to Credit Card Services Using the SCMP API May 2016 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095

More information

MONETA.Assistant API Reference

MONETA.Assistant API Reference MONETA.Assistant API Reference Contents 2 Contents Abstract...3 Chapter 1: MONETA.Assistant Overview...4 Payment Processing Flow...4 Chapter 2: Quick Start... 6 Sandbox Overview... 6 Registering Demo Accounts...

More information

IBM Client Security Solutions. Client Security User's Guide

IBM Client Security Solutions. Client Security User's Guide IBM Client Security Solutions Client Security User's Guide December 1999 1 Before using this information and the product it supports, be sure to read Appendix B - Notices and Trademarks, on page 22. First

More information

Axway API Gateway. Version 7.4.1

Axway API Gateway. Version 7.4.1 O A U T H U S E R G U I D E Axway API Gateway Version 7.4.1 3 February 2016 Copyright 2016 Axway All rights reserved. This documentation describes the following Axway software: Axway API Gateway 7.4.1

More information

CA Clarity Project & Portfolio Manager

CA Clarity Project & Portfolio Manager CA Clarity Project & Portfolio Manager Using CA Clarity PPM with Open Workbench and Microsoft Project v12.1.0 This documentation and any related computer software help programs (hereinafter referred to

More information

Merchant Integration Guide

Merchant Integration Guide Merchant Integration Guide Card Not Present Transactions January 2012 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC ( Authorize.Net )

More information

Credomatic Integration Resources. Browser Redirect API Documentation June 2007

Credomatic Integration Resources. Browser Redirect API Documentation June 2007 Credomatic Integration Resources Browser Redirect API Documentation June 2007 Table of Contents Methodology... 2 Browser Redirect Method (Browser to Server) FIG. 1... 2 API Authentication Parameters...

More information

SPARROW Gateway. Developer API. Version 2.00

SPARROW Gateway. Developer API. Version 2.00 SPARROW Gateway Developer API Version 2.00 Released May 2015 Table of Contents SPARROW Gateway... 1 Developer API... 1 Overview... 3 Architecture... 3 Merchant Private Key and Payment Types... 3 Integration...

More information

Centrify Mobile Authentication Services

Centrify Mobile Authentication Services Centrify Mobile Authentication Services SDK Quick Start Guide 7 November 2013 Centrify Corporation Legal notice This document and the software described in this document are furnished under and are subject

More information

Address Phone & Fax Internet

Address Phone & Fax Internet Smilehouse Workspace 1.13 Payment Gateway API Document Info Document type: Technical document Creator: Smilehouse Workspace Development Team Date approved: 31.05.2010 Page 2/34 Table of Content 1. Introduction...

More information

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions MicroStrategy Mobile SDK 1 Agenda MicroStrategy Mobile SDK Overview Requirements & Setup Custom App Delegate Custom

More information

DIGIPASS CertiID. Getting Started 3.1.0

DIGIPASS CertiID. Getting Started 3.1.0 DIGIPASS CertiID Getting Started 3.1.0 Disclaimer Disclaimer of Warranties and Limitations of Liabilities The Product is provided on an 'as is' basis, without any other warranties, or conditions, express

More information

CA Mobile Device Management. How to Create Custom-Signed CA MDM Client App

CA Mobile Device Management. How to Create Custom-Signed CA MDM Client App CA Mobile Device Management How to Create Custom-Signed CA MDM Client App This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as

More information

Credit Card Processing

Credit Card Processing Microsoft Dynamics AX 2009 Credit Card Processing Technical White Paper This white paper is intended for professionals who are involved in the implementation and support of the Credit Card Processing functionality

More information

Salesforce Mobile Push Notifications Implementation Guide

Salesforce Mobile Push Notifications Implementation Guide Salesforce.com: Summer 14 Salesforce Mobile Push Notifications Implementation Guide Last updated: May 6, 2014 Copyright 2000 2014 salesforce.com, inc. All rights reserved. Salesforce.com is a registered

More information

New Features for Sybase Mobile SDK and Runtime. Sybase Unwired Platform 2.1 ESD #2

New Features for Sybase Mobile SDK and Runtime. Sybase Unwired Platform 2.1 ESD #2 New Features for Sybase Mobile SDK and Runtime Sybase Unwired Platform 2.1 ESD #2 DOCUMENT ID: DC60009-01-0212-02 LAST REVISED: March 2012 Copyright 2012 by Sybase, Inc. All rights reserved. This publication

More information

Network Merchants Inc (NMI) Integration Resources. Direct Post API Documentation April 2010

Network Merchants Inc (NMI) Integration Resources. Direct Post API Documentation April 2010 Network Merchants Inc (NMI) Integration Resources Direct Post API Documentation April 2010 Table of Contents Methodology... 2 Direct Post Method (Server to Server) FIG. 1... 2 Transaction Types... 3 Sale

More information

Programming Autodesk PLM 360 Using REST. Doug Redmond Software Engineer, Autodesk

Programming Autodesk PLM 360 Using REST. Doug Redmond Software Engineer, Autodesk Programming Autodesk PLM 360 Using REST Doug Redmond Software Engineer, Autodesk Introduction This class will show you how to write your own client applications for PLM 360. This is not a class on scripting.

More information

Online signature API. Terms used in this document. The API in brief. Version 0.20, 2015-04-08

Online signature API. Terms used in this document. The API in brief. Version 0.20, 2015-04-08 Online signature API Version 0.20, 2015-04-08 Terms used in this document Onnistuu.fi, the website https://www.onnistuu.fi/ Client, online page or other system using the API provided by Onnistuu.fi. End

More information

Card-Present Processing Using the Simple Order API

Card-Present Processing Using the Simple Order API 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

More information

Payvision Payment Processor. Technical Integration

Payvision Payment Processor. Technical Integration Payvision Payment Processor Technical Integration Rights of use: COMPLYING WITH ALL APPLICABLE COPYRIGHT LAWS IS THE RESPONSABILITY OF THE USER. WITHOUT LIMITING THE RIGHTS UNDER COPYRIGHT, NO PART OF

More information

CA Mobile Device Management 2014 Q1 Getting Started

CA Mobile Device Management 2014 Q1 Getting Started CA Mobile Device Management 2014 Q1 Getting Started This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is

More information

ivvy Events Software API www.ivvy.com

ivvy Events Software API www.ivvy.com ivvy Events Software API www.ivvy.com Version 0.3 1 Contents Contents Document Control Revision History Introduction Obtaining Keys Creating the request Method/URI Header Request Headers Standard Headers

More information

PROCESS TRANSACTION API

PROCESS TRANSACTION API PROCESS TRANSACTION API Document Version 8.7 May 2015 For further information please contact Digital River customer support at (888) 472-0811 or support@beanstream.com. 1 TABLE OF CONTENTS 2 Lists of tables

More information

Fairsail REST API: Guide for Developers

Fairsail REST API: Guide for Developers Fairsail REST API: Guide for Developers Version 1.02 FS-API-REST-PG-201509--R001.02 Fairsail 2015. All rights reserved. This document contains information proprietary to Fairsail and may not be reproduced,

More information

CA Nimsoft Service Desk

CA Nimsoft Service Desk CA Nimsoft Service Desk Configure Outbound Web Services 7.13.7 Legal Notices Copyright 2013, CA. All rights reserved. Warranty The material contained in this document is provided "as is," and is subject

More information

White Paper March 1, 2005. Integrating AR System with Single Sign-On (SSO) authentication systems

White Paper March 1, 2005. Integrating AR System with Single Sign-On (SSO) authentication systems White Paper March 1, 2005 Integrating AR System with Single Sign-On (SSO) authentication systems Copyright 2005 BMC Software, Inc. All rights reserved. BMC, the BMC logo, all other BMC product or service

More information

Chapter 1: How to Register a UNIX Host in a One-Way Trust Domain Environment 3

Chapter 1: How to Register a UNIX Host in a One-Way Trust Domain Environment 3 Contents Chapter 1: How to Register a UNIX Host in a One-Way Trust Domain Environment 3 Introduction... 3 How to Register a UNIX Host in a One-Way Trust Domain Environment... 4 Creating a Windows Agentless

More information

Cisco UCS Director Payment Gateway Integration Guide, Release 4.1

Cisco UCS Director Payment Gateway Integration Guide, Release 4.1 First Published: April 16, 2014 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800 553-NETS (6387) Fax: 408 527-0883

More information

Event Kit Programming Guide

Event Kit Programming Guide Event Kit Programming Guide Contents Introduction 4 Who Should Read This Document? 4 Organization of This Document 4 See Also 4 Fetching Events 6 Initializing an Event Store 6 Fetching Events with a Predicate

More information

MasterCard In tern et Gateway Service (MIGS)

MasterCard In tern et Gateway Service (MIGS) MasterCard Internet Gateway Service Master Card Inter nati onal MasterCard In tern et Gateway Service (MIGS) Virtual Payment Client Integration Guide Prepared By: Patrick Hayes Department: Principal Consultant,

More information

Technical Certificates Overview

Technical Certificates Overview Technical Certificates Overview Version 8.2 Mobile Service Manager Legal Notice This document, as well as all accompanying documents for this product, is published by Good Technology Corporation ( Good

More information

CyberSource Merchant Account: Examples of Best Practice Business Policies

CyberSource Merchant Account: Examples of Best Practice Business Policies CyberSource Merchant Account: Examples of Best Practice Business Policies February 2008 the power of payment CyberSource Contact Information For support questions related to your CyberSource Merchant Account,

More information

Process Transaction API

Process Transaction API Process Transaction API Document Version 5.9 March 2011 For further information please contact Beanstream customer support at (250) 472-2326 or support@beanstream.com. BEAN # Page 2 of 90 Date Overview...

More information

CA Performance Center

CA Performance Center CA Performance Center Single Sign-On User Guide 2.4 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is

More information

Payment Processor Errors A Troubleshooter

Payment Processor Errors A Troubleshooter Payment Processor Errors A Troubleshooter November 2005 Version 2.4 This manual and accompanying electronic media are proprietary products of Optimal Payments Inc. They are to be used only by licensed

More information

fåíéêåéí=péêîéê=^çãáåáëíê~íçêûë=dìáçé

fåíéêåéí=péêîéê=^çãáåáëíê~íçêûë=dìáçé fåíéêåéí=péêîéê=^çãáåáëíê~íçêûë=dìáçé Internet Server FileXpress Internet Server Administrator s Guide Version 7.2.1 Version 7.2.2 Created on 29 May, 2014 2014 Attachmate Corporation and its licensors.

More information

Emerald. Cisco IVR - Prepaid Voice Version 1.1. Emerald Management Suite IEA Software, Inc.

Emerald. Cisco IVR - Prepaid Voice Version 1.1. Emerald Management Suite IEA Software, Inc. Emerald Cisco IVR - Prepaid Voice Version 1.1 Emerald Management Suite IEA Software, Inc. Software License Agreement By purchasing or installing all or part of the Emerald Management Suite, you indicate

More information

EdgeCast Networks Inc. Token-Based Authentication Administration Guide

EdgeCast Networks Inc. Token-Based Authentication Administration Guide EdgeCast Networks Inc. Token-Based Authentication Administration Guide Disclaimer Care was taken in the creation of this guide. However, EdgeCast Networks Inc. cannot accept any responsibility for errors

More information

Gateway Direct Post API

Gateway Direct Post API Gateway Direct Post API http://merchantguy.com @MerchantGuy Questions? info@merchantguy.com Contents Methodology....3! Direct Post Method (Server to Server FIG. 1...3 Transaction Types.....4! Sale (sale)..4!

More information

Identikey Server Getting Started Guide 3.1

Identikey Server Getting Started Guide 3.1 Identikey Server Getting Started Guide 3.1 Disclaimer of Warranties and Limitations of Liabilities Disclaimer of Warranties and Limitations of Liabilities The Product is provided on an 'as is' basis, without

More information

Microsoft Dynamics GP. Extender User s Guide

Microsoft Dynamics GP. Extender User s Guide Microsoft Dynamics GP Extender User s Guide Copyright Copyright 2010 Microsoft. All rights reserved. Limitation of liability This document is provided as-is. Information and views expressed in this document,

More information

MasterCard In tern et Gatew ay Service (MIGS)

MasterCard In tern et Gatew ay Service (MIGS) Master Card Inter national MasterCard In tern et Gatew ay Service (MIGS) MIGS Payment Client Reference Manual Prepared By: Patrick Hayes Department: Principal Consultant, ebusiness Solutions Date Written:

More information

API Documentation. Version 2.0

API Documentation. Version 2.0 API Documentation Version 2.0 Table of Contents 1. Overview...5 1.1 Test Merchant Account v/s Live Merchant Account...5 1.2 Target Audience...5 1.3 Assistance...6 1.4 Technical Architecture...6 2 Getting

More information

TestFlight FAQ. 2014-7-17 Apple Inc.

TestFlight FAQ. 2014-7-17 Apple Inc. TestFlight FAQ apple 2014-7-17 Apple Inc. 2014 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means,

More information

Transaction Details Guide

Transaction Details Guide Title Page Transaction Details Guide Merchant Web Services API XML April 2014 Authorize.Net Developer Support http://developer.authorize.net Authorize.Net LLC 082007 Ver.2.0 Authorize.Net LLC ("Authorize.Net")

More information

Credit Card Processing with Element Payment Services. Release 8.7.9

Credit Card Processing with Element Payment Services. Release 8.7.9 Credit Card Processing with Element Payment Services Release 8.7.9 Disclaimer This document is for informational purposes only and is subject to change without notice. This document and its contents, including

More information