Sample code for 30+ languages & platforms
Zig

CardConnect Test API Credentials

See more CardConnect Examples

To test and validate site-level credentials, you can make a GET request with no body to the base URL.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    // The CardConnect REST Web Service base URL includes a protocol, host, port and servlet specification.
    //
    // For example:
    // https://<site>.cardconnect.com:<port>/cardconnect/rest/
    //
    // This represents an HTTPS request to the REST web service base URL.
    // The servlet name is fixed within the application; the host and port are assigned by CardConnect.

    const http = try chilkat.Http.init();
    defer http.deinit();

    http.setBasicAuth(true);
    http.setLogin("API_USERNAME");
    http.setPassword("API_PASSWORD");

    const url = "https://<site>.cardconnect.com:<port>/cardconnect/rest/";

    const response_str = http.quickGetStr(alloc, url) catch {
        std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
        return;
    };

    // If we get a 200 response status and an HTML response saying "CardConnect REST Servlet", then our credentials are correct.
    std.debug.print("response status code = {d}\n", .{http.getLastStatus()});

    std.debug.print("response string:\n", .{});
    std.debug.print("{s}\n", .{response_str});

    // Sample output:

    // response status code = 200
    // response string:
    // <html lang="en"><body><h1>CardConnect REST Servlet</h1></body></html>
}