Sample code for 30+ languages & platforms
Swift

Egypt ITIDA Generate eReceipt UUID

See more Egypt ITIDA Examples

Demonstrates how to generate the eReceipt UUID for Egypt ITIDA.

Note: This example requires Chilkat v9.5.0.92 or greater.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    // Note: This example requires Chilkat v9.5.0.92 or greater.
    // (In v9.5.0.92, the "itida" encoding was added to StringBuilder's Encode method.)
    let sb = CkoStringBuilder()!

    // Load the eReceipt JSON into a StringBuilder object.
    success = sb.loadFile(path: "qa_data/itida/EReceipt_ex.json", charset: "utf-8")
    if success == false {
        print("Failed to load input file.")
        return
    }

    // Convert the contents of sb to the ITIDA canonical form.
    // Always pass utf-8 for the 2nd arg.
    sb.encode(encoding: "itida", charset: "utf-8")

    // Get the lowercase hex encoded SHA256 hash of the canonicalized JSON
    // (always use utf-8)
    var uuid: String? = sb.getHash(algorithm: "sha256", encoding: "hex_lower", charset: "utf-8")
    print("eInvoicing UUID = \(uuid!)")

}