@cfxlabsinc/b2b-services
    Preparing search index...
    GirasolTransactionEventSchema: TObject<
        {
            payload: TObject<
                {
                    amount: TObject<{ cardholder: TObject<{ amount: TString }> }>;
                    card: TObject<{ card_id: TString }>;
                    merchant: TOptional<
                        TObject<
                            {
                                category_code: TOptional<TString>;
                                city: TOptional<TString>;
                                country: TOptional<TString>;
                                mcc: TString;
                                name: TString;
                            },
                        >,
                    >;
                    original_transaction: TOptional<TObject<{ transaction_id: TString }>>;
                    transaction_id: TString;
                    transaction_type: TString;
                },
            >;
            reason: TString;
            request_type: TUnion<
                [
                    TLiteral<"authorization">,
                    TLiteral<"reversal">,
                    TLiteral<"notification">,
                ],
            >;
            status: TUnion<[TLiteral<"declined">, TLiteral<"approved">]>;
            statusDescription: TOptional<TString>;
        },
    > = ...

    Girasol Transaction Authorization Event

    This type represents the structure of transaction events sent by the Girasol API. The fields and nested objects are based on the official Girasol API documentation, but may require updates when we see real messages.

    Note:

    • Field formats (e.g., date, time, currency) are as described in the Girasol docs. We can tighten them later.
    • This type is used for runtime event validation and processing. We expect both successful and unsuccessful transactions to be represented here.