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
(Tcl) CardConnect AuthorizationDemonstrates how to send an Authorization request. Authorization is the initial step in accepting payment from a cardholder. This action "authorizes" or requests permission from the bank to transfer money from the cardholder to the merchant. See https://developer.cardconnect.com/cardconnect-api#authorization
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] CkHttp_put_BasicAuth $http 1 CkHttp_put_Login $http "API_USERNAME" CkHttp_put_Password $http "API_PASSWORD" # Build and send the following JSON: # Note: The CardConnect online documentation might use an expiry that is in the past, such as "1218". # This causes the request to fail. Use a month/year that is in the future.. # (Likewise, this example will have an invalid month/year after Dec 2021) # { # "merchid": "MERCHANT_ID", # "accttype": "VISA", # "orderid": "AB-11-9876", # "account": "4111111111111111", # "expiry": "1221", # "amount": "0", # "currency": "USD", # "name": "TOM JONES", # "address": "123 MAIN STREET", # "city": "anytown", # "region": "NY", # "country": "US", # "postal": "55555", # "profile": "Y", # "ecomind": "E", # "cvv2": "123", # "track": null, # "capture": "Y" # } # Use this online tool to generate the code from sample JSON: # Generate Code to Create JSON set json [new_CkJsonObject] CkJsonObject_UpdateString $json "merchid" "MERCHANT_ID" CkJsonObject_UpdateString $json "accttype" "VISA" CkJsonObject_UpdateString $json "orderid" "AB-11-9876" CkJsonObject_UpdateString $json "account" "4111111111111111" CkJsonObject_UpdateString $json "expiry" "1221" CkJsonObject_UpdateString $json "amount" "20" CkJsonObject_UpdateString $json "currency" "USD" CkJsonObject_UpdateString $json "name" "TOM JONES" CkJsonObject_UpdateString $json "address" "123 MAIN STREET" CkJsonObject_UpdateString $json "city" "anytown" CkJsonObject_UpdateString $json "region" "NY" CkJsonObject_UpdateString $json "country" "US" CkJsonObject_UpdateString $json "postal" "55555" CkJsonObject_UpdateString $json "profile" "Y" CkJsonObject_UpdateString $json "ecomind" "E" CkJsonObject_UpdateString $json "cvv2" "123" CkJsonObject_UpdateNull $json "track" CkJsonObject_UpdateString $json "capture" "Y" set url "https://<site>.cardconnect.com:<port>/cardconnect/rest/auth" set responseStr [CkHttp_putText $http $url [CkJsonObject_emit $json] "utf-8" "application/json" 0 0] if {[CkHttp_get_LastMethodSuccess $http] == 0} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkJsonObject $json exit } # 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. puts "response status code = [CkHttp_get_LastStatus $http]" set jsonResp [new_CkJsonObject] CkJsonObject_Load $jsonResp $responseStr CkJsonObject_put_EmitCompact $jsonResp 0 puts "response JSON:" puts [CkJsonObject_emit $jsonResp] # Sample error: # { # "respproc": "PPS", # "amount": "0.00", # "resptext": "Invalid amount", # "cardproc": "FNOR", # "acctid": "1", # "retref": "112804260418", # "respstat": "C", # "respcode": "43", # "account": "41XXXXXXXXXX1111", # "defaultacct": "Y", # "merchid": "MERCHANT_ID", # "token": "9418594164541111" # } # A successful response looks like this: # { # "amount": "0.20", # "resptext": "Approval", # "acctid": "1", # "commcard": " C ", # "cvvresp": "M", # "respcode": "00", # "batchid": "1900942291", # "avsresp": "Z", # "entrymode": "ECommerce", # "defaultacct": "Y", # "merchid": "MERCHANT_ID", # "token": "9418594164541111", # "authcode": "PPS158", # "respproc": "FNOR", # "bintype": "", # "profileid": "16618402968441604028", # "retref": "112989260941", # "respstat": "A", # "account": "41XXXXXXXXXX1111" # } # Use this online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON set amount [CkJsonObject_stringOf $jsonResp "amount"] set resptext [CkJsonObject_stringOf $jsonResp "resptext"] set acctid [CkJsonObject_stringOf $jsonResp "acctid"] set commcard [CkJsonObject_stringOf $jsonResp "commcard"] set cvvresp [CkJsonObject_stringOf $jsonResp "cvvresp"] set respcode [CkJsonObject_stringOf $jsonResp "respcode"] set batchid [CkJsonObject_stringOf $jsonResp "batchid"] set avsresp [CkJsonObject_stringOf $jsonResp "avsresp"] set entrymode [CkJsonObject_stringOf $jsonResp "entrymode"] set defaultacct [CkJsonObject_stringOf $jsonResp "defaultacct"] set merchid [CkJsonObject_stringOf $jsonResp "merchid"] set token [CkJsonObject_stringOf $jsonResp "token"] set authcode [CkJsonObject_stringOf $jsonResp "authcode"] set respproc [CkJsonObject_stringOf $jsonResp "respproc"] set bintype [CkJsonObject_stringOf $jsonResp "bintype"] set profileid [CkJsonObject_stringOf $jsonResp "profileid"] set retref [CkJsonObject_stringOf $jsonResp "retref"] set respstat [CkJsonObject_stringOf $jsonResp "respstat"] set account [CkJsonObject_stringOf $jsonResp "account"] delete_CkHttp $http delete_CkJsonObject $json delete_CkJsonObject $jsonResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.