Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) CardConnect Capture Level 3 DataDemonstrates how to send a CardConnect Capture request with Lavel 3 line item data. If available, Level 3 line item data can be sent with the capture request, particularly for any commercial or corporate payment cards. To qualify for Level 3 Interchange rates, Level 2 data must also be provided. ... See https://developer.cardconnect.com/cardconnect-api#capture-level-3-data
#import <CkoHttp.h> #import <CkoJsonObject.h> #import <NSString.h> // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; BOOL success; http.BasicAuth = YES; http.Login = @"API_USERNAME"; http.Password = @"API_PASSWORD"; // Build and send the following JSON: // The "retref" is the value returned in the JSON response for the Authorization request. // { // "retref": "2880000333", // "shiptozip": "11111-1111", // "shipfromzip": "99999-9999", // "amount": "596.00", // "items": [ // { // "discamnt": "0", // "unitcost": "900", // "uom": "CS", // "lineno": "1", // "description": "DESCRIPTION-1", // "taxamnt": "117", // "quantity": "1000", // "upc": "UPC-1", // "netamnt": "150", // "material": "MATERIAL-1" // }, // { // "discamnt": "0", // "unitcost": "450", // "uom": "CS", // "lineno": "2", // "description": "DESCRIPTION-2", // "taxamnt": "117", // "quantity": "2000", // "upc": "UPC-1", // "netamnt": "300", // "material": "MATERIAL-2" // } // ], // "taxamount": "40.00", // "merchid": "123456789012", // "account": "4111111111111111", // "ponumber": "PO-0736332" // } // // Use this online tool to generate the code from sample JSON: // Generate Code to Create JSON CkoJsonObject *json = [[CkoJsonObject alloc] init]; [json UpdateString: @"retref" value: @"112989260941"]; [json UpdateString: @"shiptozip" value: @"11111-1111"]; [json UpdateString: @"shipfromzip" value: @"99999-9999"]; [json UpdateString: @"amount" value: @"596.00"]; [json UpdateString: @"items[0].discamnt" value: @"0"]; [json UpdateString: @"items[0].unitcost" value: @"900"]; [json UpdateString: @"items[0].uom" value: @"CS"]; [json UpdateString: @"items[0].lineno" value: @"1"]; [json UpdateString: @"items[0].description" value: @"DESCRIPTION-1"]; [json UpdateString: @"items[0].taxamnt" value: @"117"]; [json UpdateString: @"items[0].quantity" value: @"1000"]; [json UpdateString: @"items[0].upc" value: @"UPC-1"]; [json UpdateString: @"items[0].netamnt" value: @"150"]; [json UpdateString: @"items[0].material" value: @"MATERIAL-1"]; [json UpdateString: @"items[1].discamnt" value: @"0"]; [json UpdateString: @"items[1].unitcost" value: @"450"]; [json UpdateString: @"items[1].uom" value: @"CS"]; [json UpdateString: @"items[1].lineno" value: @"2"]; [json UpdateString: @"items[1].description" value: @"DESCRIPTION-2"]; [json UpdateString: @"items[1].taxamnt" value: @"117"]; [json UpdateString: @"items[1].quantity" value: @"2000"]; [json UpdateString: @"items[1].upc" value: @"UPC-1"]; [json UpdateString: @"items[1].netamnt" value: @"300"]; [json UpdateString: @"items[1].material" value: @"MATERIAL-2"]; [json UpdateString: @"taxamount" value: @"40.00"]; [json UpdateString: @"merchid" value: @"MERCHANT_ID"]; [json UpdateString: @"account" value: @"4111111111111111"]; [json UpdateString: @"ponumber" value: @"PO-0736332"]; NSString *url = @"https://<site>.cardconnect.com:<port>/cardconnect/rest/capture"; NSString *responseStr = [http PutText: url textData: [json Emit] charset: @"utf-8" contentType: @"application/json" md5: NO gzip: NO]; if (http.LastMethodSuccess == NO) { NSLog(@"%@",http.LastErrorText); return; } // A response status of 200 indicates potential success. The JSON response body // must be examined to determine if it was truly successful or an error. NSLog(@"%@%d",@"response status code = ",[http.LastStatus intValue]); CkoJsonObject *jsonResp = [[CkoJsonObject alloc] init]; [jsonResp Load: responseStr]; jsonResp.EmitCompact = NO; NSLog(@"%@",@"response JSON:"); NSLog(@"%@",[jsonResp Emit]); // A successful response looks like this: // { // "amount": "596.00", // "resptext": "Approval", // "setlstat": "Queued for Capture", // "commcard": " C ", // "respcode": "00", // "batchid": "1900942291", // "merchid": "MERCHANT_ID", // "token": "9418594164541111", // "authcode": "PPS158", // "respproc": "FNOR", // "retref": "112989260941", // "respstat": "A", // "account": "9418594164541111" // } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON NSString *amount = [jsonResp StringOf: @"amount"]; NSString *resptext = [jsonResp StringOf: @"resptext"]; NSString *setlstat = [jsonResp StringOf: @"setlstat"]; NSString *commcard = [jsonResp StringOf: @"commcard"]; NSString *respcode = [jsonResp StringOf: @"respcode"]; NSString *batchid = [jsonResp StringOf: @"batchid"]; NSString *merchid = [jsonResp StringOf: @"merchid"]; NSString *token = [jsonResp StringOf: @"token"]; NSString *authcode = [jsonResp StringOf: @"authcode"]; NSString *respproc = [jsonResp StringOf: @"respproc"]; NSString *retref = [jsonResp StringOf: @"retref"]; NSString *respstat = [jsonResp StringOf: @"respstat"]; NSString *account = [jsonResp StringOf: @"account"]; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.