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
(PowerBuilder) 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
integer li_rc oleobject loo_Http integer li_Success oleobject loo_Json string ls_Url string ls_ResponseStr oleobject loo_JsonResp string ls_Amount string ls_Resptext string ls_Acctid string ls_Commcard string ls_Cvvresp string ls_Respcode string ls_Batchid string ls_Avsresp string ls_Entrymode string ls_Defaultacct string ls_Merchid string ls_Token string ls_Authcode string ls_Respproc string ls_Bintype string ls_Profileid string ls_Retref string ls_Respstat string ls_Account // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 li_rc = loo_Http.ConnectToNewObject("Chilkat.Http") if li_rc < 0 then destroy loo_Http MessageBox("Error","Connecting to COM object failed") return end if loo_Http.BasicAuth = 1 loo_Http.Login = "API_USERNAME" loo_Http.Password = "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 loo_Json = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject") loo_Json.UpdateString("merchid","MERCHANT_ID") loo_Json.UpdateString("accttype","VISA") loo_Json.UpdateString("orderid","AB-11-9876") loo_Json.UpdateString("account","4111111111111111") loo_Json.UpdateString("expiry","1221") loo_Json.UpdateString("amount","20") loo_Json.UpdateString("currency","USD") loo_Json.UpdateString("name","TOM JONES") loo_Json.UpdateString("address","123 MAIN STREET") loo_Json.UpdateString("city","anytown") loo_Json.UpdateString("region","NY") loo_Json.UpdateString("country","US") loo_Json.UpdateString("postal","55555") loo_Json.UpdateString("profile","Y") loo_Json.UpdateString("ecomind","E") loo_Json.UpdateString("cvv2","123") loo_Json.UpdateNull("track") loo_Json.UpdateString("capture","Y") ls_Url = "https://<site>.cardconnect.com:<port>/cardconnect/rest/auth" ls_ResponseStr = loo_Http.PutText(ls_Url,loo_Json.Emit(),"utf-8","application/json",0,0) if loo_Http.LastMethodSuccess = 0 then Write-Debug loo_Http.LastErrorText destroy loo_Http destroy loo_Json return end if // 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. Write-Debug "response status code = " + string(loo_Http.LastStatus) loo_JsonResp = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_JsonResp.ConnectToNewObject("Chilkat.JsonObject") loo_JsonResp.Load(ls_ResponseStr) loo_JsonResp.EmitCompact = 0 Write-Debug "response JSON:" Write-Debug loo_JsonResp.Emit() // 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 ls_Amount = loo_JsonResp.StringOf("amount") ls_Resptext = loo_JsonResp.StringOf("resptext") ls_Acctid = loo_JsonResp.StringOf("acctid") ls_Commcard = loo_JsonResp.StringOf("commcard") ls_Cvvresp = loo_JsonResp.StringOf("cvvresp") ls_Respcode = loo_JsonResp.StringOf("respcode") ls_Batchid = loo_JsonResp.StringOf("batchid") ls_Avsresp = loo_JsonResp.StringOf("avsresp") ls_Entrymode = loo_JsonResp.StringOf("entrymode") ls_Defaultacct = loo_JsonResp.StringOf("defaultacct") ls_Merchid = loo_JsonResp.StringOf("merchid") ls_Token = loo_JsonResp.StringOf("token") ls_Authcode = loo_JsonResp.StringOf("authcode") ls_Respproc = loo_JsonResp.StringOf("respproc") ls_Bintype = loo_JsonResp.StringOf("bintype") ls_Profileid = loo_JsonResp.StringOf("profileid") ls_Retref = loo_JsonResp.StringOf("retref") ls_Respstat = loo_JsonResp.StringOf("respstat") ls_Account = loo_JsonResp.StringOf("account") destroy loo_Http destroy loo_Json destroy loo_JsonResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.