CyberSource ios SDK for Apple Pay
|
|
- Dinah O’Connor’
- 8 years ago
- Views:
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
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 informationCyberSource 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 informationPayPal 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 informationGetting 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 informationRecurring 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 informationGetting 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 informationAliPay 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 informationElectronic 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 informationRecurring 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 informationPINless 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 informationAliPay 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 informationElectronic 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 informationRecurring 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 informationRecurring 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 informationCyberSource 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 informationGetting 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 informationMerchant 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 informationCyberSource 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 informationTitle 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 informationCyberSource 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 informationCyberSource 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 informationGetting 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 informationCyberSource 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 informationUniversal 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 informationUser 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 informationCyberSource 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 informationTax 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 informationHow 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 informationMerchant 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 informationAuthorize.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 informationCyberSource 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 informationMerchant 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 informationMerchant 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 informationStar 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 informationipayment 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 informationMerchant 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 informationWeb 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 informationCyberSource 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 informationMerchant 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 informationWeb 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 informationQualtrics 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 informationBAM 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 informationPraktikum 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 informationMagensa 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 informationLevel 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 informationCA 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 informationWeb 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 informationetrust 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 informationMerchant 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 informationOracle 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 informationJava 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 informationAuthorize.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 informationTag 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 informationCard-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 informationMONETA.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 informationIBM 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 informationAxway 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 informationCA 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 informationMerchant 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 informationCredomatic 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 informationSPARROW 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 informationCentrify 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 informationAddress 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 informationCustomize 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 informationDIGIPASS 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 informationCA 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 informationCredit 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 informationSalesforce 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 informationNew 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 informationNetwork 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 informationProgramming 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 informationOnline 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 informationCard-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 informationPayvision 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 informationCA 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 informationivvy 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 informationPROCESS 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 informationFairsail 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 informationCA 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 informationWhite 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 informationChapter 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 informationCisco 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 informationEvent 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 informationMasterCard 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 informationTechnical 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 informationCyberSource 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 informationProcess 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 informationCA 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 informationPayment 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 informationfåíéêåéí=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 informationEmerald. 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 informationEdgeCast 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 informationGateway 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 informationIdentikey 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 informationMicrosoft 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 informationMasterCard 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 informationAPI 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 informationTestFlight 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 informationTransaction 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 informationCredit 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