aurora

package module
v1.0.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2026 License: MIT Imports: 8 Imported by: 0

README

Aurora Go SDK

Official Go SDK for the Aurora API — a rule-based transaction processing engine.

Installation

go get github.com/kintsdev/aurora-go-sdk

Quick Start

package main

import (
	"context"
	"fmt"
	"log"

	aurora "github.com/kintsdev/aurora-go-sdk"
)

func main() {
	client := aurora.NewClient("your-api-key",
		aurora.WithBaseURL("https://api.example.com"),
	)

	resp, err := client.Process.Execute(context.Background(), &aurora.ProcessRequest{
		RuleID: "your-rule-id",
		Transaction: &aurora.Transaction{
			Common: &aurora.Common{
				Amount:   250.00,
				Currency: "USD",
				Email:    "customer@example.com",
			},
		},
	})
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Allowed: %v | Rejected: %v | Score: %d\n", resp.Allow, resp.Rejected, resp.Score)
}

Configuration

Client Options
Option Description
WithBaseURL(url) Set the API host (e.g. https://api.example.com). The path /api/v1 is appended automatically.
WithHTTPClient(client) Provide a custom *http.Client.
WithTimeout(duration) Set HTTP client timeout (default: 30s).
Authentication

The SDK sends the API key as a Bearer token in the Authorization header.

client := aurora.NewClient("your-api-key")

Process

Execute a rule against a transaction using client.Process.Execute().

With a Single Rule
resp, err := client.Process.Execute(ctx, &aurora.ProcessRequest{
    RuleID: "rule-id",
    Transaction: &aurora.Transaction{
        Common: &aurora.Common{
            Amount:   100.00,
            Currency: "TRY",
            UserID:   "user-123",
        },
    },
})
With a Ruleset
resp, err := client.Process.Execute(ctx, &aurora.ProcessRequest{
    RulesetID: "ruleset-id",
    Transaction: &aurora.Transaction{
        Common: &aurora.Common{
            Amount:   500.00,
            Currency: "EUR",
        },
        Transfer: &aurora.Transfer{
            PaymentMethod: "bank_deposit",
            SenderCountry: "DE",
        },
    },
})
Full Example
resp, err := client.Process.Execute(ctx, &aurora.ProcessRequest{
    RuleID:        "1e7b3b7b-0b3b-4b7b-8b3b-0b3b7b0b3b7b",
    RulesetID:     "2a8c4d9e-1f2a-4b3c-9d8e-7f6a5b4c3d2e",
    TransactionID: "txn_20260326_0001",
    Transaction: &aurora.Transaction{
        Type:            "card",
        TransactionType: "purchase",
        AccountAgeDays:  "180",
        CustomerAgeYears: "29",
        IsNewDevice:     "true",
        IsNewIP:         "false",
        IsUnusualLocation: "true",
        Common: &aurora.Common{
            Amount:      99.99,
            Currency:    "USD",
            Category:    "ecommerce",
            Country:     "US",
            Email:       "john@doe.com",
            IPAddress:   "127.0.0.1",
            UserID:      "user_1234567890",
            MerchantID:  "merch_1234567890",
            PaymentID:   "pay_1234567890",
            ReferenceID: "order_1234567890",
        },
        Card: &aurora.Card{
            BinNumber: "123456",
            Holder:    "John Doe",
            Issuer:    "Bank of America",
            LastFour:  "1234",
            MCC:       "5411",
            Network:   "Visa",
            Token:     "card_tok_1234567890",
            Type:      "credit",
        },
        Transfer: &aurora.Transfer{
            TransferType:    "wallet_to_wallet",
            TransferPurpose: "family_support",
            SenderName:      "John Doe",
            SenderCountry:   "US",
            ReceiverName:    "Jane Smith",
            ReceiverCountry: "GB",
        },
    },
})
Response
type ProcessResponse struct {
    Allow          bool          // transaction is allowed
    AllowMessage   string        // message when allowed
    Rejected       bool          // transaction is rejected
    RejectMessage  string        // reason for rejection
    NeedInspect    bool          // transaction needs manual review
    InspectMessage string        // reason for inspection
    Score          int           // risk score
    Error          bool          // processing error occurred
    ErrorMessage   string        // error details
    ExecutionTime  time.Duration // rule execution duration
}
Transaction Fields

The Transaction struct uses nested sub-structs to organize fields by category. Only populate the sections relevant to your use case — all sub-struct pointers and fields use omitempty.

Top-Level Scalar Fields
Field JSON Key Description
Type type Transaction type (e.g. card)
TransactionType transaction_type Transaction action (e.g. purchase)
AccountAgeDays account_age_days Account age in days
CustomerAgeYears customer_age_years Customer age in completed years, calculated from date of birth
DeclinedCount declined_count Number of declined transactions
IncomeMultiplier income_multiplier Ratio of amount to registered income
IPCountry ip_country ISO country code resolved from the transaction IP
IPCity ip_city City resolved from the transaction IP
IsFirstTransfer is_first_transfer Whether this is the first transfer
IsNewDevice is_new_device Whether a new device is used
IsNewIP is_new_ip Whether a new IP is used
IsUnusualLocation is_unusual_location Whether location is unusual
PasswordChangedRecently password_changed_recently Recent password change flag
ProfileCompletion profile_completion Profile completion percentage
RefundCount refund_count Number of refunds
RefundRatio refund_ratio Refund to transaction ratio
RegisteredIncome registered_income User's registered income
TotalAmount24h total_amount_24h Total transaction amount in 24h
TotalAmount7d total_amount_7d Total transaction amount in 7 days
TransactionHour transaction_hour Hour of the transaction
TransferCount24h transfer_count_24h Number of transfers in 24h
UniqueRecipients unique_recipients Number of unique recipients
Nested Sub-Structs
Sub-Struct JSON Key Fields
Common common Amount, Balance, BrowserAgent, Category, ConnectionType, Country, Currency, Date, Description, DeviceFingerprint, DeviceID, Email, FirstName, IdentityNumber, IPAddress, LastLoginIP, LastLoginTime, LastName, Latitude, LocationCity, LocationCountry, LocationRegion, LocationRegionCode, LocationSource, Longitude, MerchantID, MerchantName, PaymentID, Phone, ReferenceID, UserID
Card card BinNumber, Holder, Issuer, LastFour, MCC, Network, Token, Type
Transfer transfer ExchangeRate, PaymentMethod, ReceiverAddress, ReceiverCountry, ReceiverIBAN, ReceiverIdentityPassport, ReceiverName, ReceiverSurname, ReceiverWalletID, Relationship, SenderAddress, SenderCountry, SenderIBAN, SenderIdentityPassport, SenderName, SenderSurname, SenderWalletID, SourceOfFunds, TargetCurrency, TransferPurpose, TransferType
AccountChange account_change ChangeType, PreviousValueHash, TimeSinceLastChange, VerificationMethod
AccountLogin account_login FailedAttempts, LoginMethod, LoginStatus, MFAMethod, MFAUsed, SessionID
AccountOpening account_opening DocumentType, IdentityVerificationStatus, RegistrationMethod
BNPL bnpl BNPLProvider, InstallmentCount, OutstandingBNPLAmount
Crypto crypto CryptoAmount, CryptoCurrency, ExchangeName, IsSmartContract, WalletAddress
Deposit deposit CheckNumber, DepositMethod, DepositSource, IsRemoteDeposit
Invoice invoice InvoiceDueDate, InvoiceNumber, IsRecurringVendor, PurchaseOrderID, VendorID, VendorName
Loan loan CreditScore, DebtToIncomeRatio, EmploymentStatus, LoanAmount, LoanTerm, LoanType
P2P p2p PaymentNote, Platform, RecipientAccountAge
Refund refund DaysSincePurchase, OriginalTransactionID, RefundMethod, RefundReason
Withdrawal withdrawal AccountType, ATMID, DailyWithdrawalCount, WithdrawalMethod

Error Handling

API errors are returned as *aurora.APIError:

resp, err := client.Process.Execute(ctx, req)
if err != nil {
    var apiErr *aurora.APIError
    if errors.As(err, &apiErr) {
        fmt.Printf("API error %d: %s\n", apiErr.StatusCode, apiErr.Message)
    }
    log.Fatal(err)
}

Callback

Send a callback transaction using client.Callback.Transaction().

resp, err := client.Callback.Transaction(ctx, &aurora.CallbackTransactionRequest{
    Message:   "Payment completed",
    PaymentID: "pay_1234567890",
    Status:    "success",
})
if err != nil {
    log.Fatal(err)
}

fmt.Printf("Success: %v | Message: %s\n", resp.Success, resp.Message)
Request
Field JSON Key Description
Message message Callback message
PaymentID payment_id Payment identifier
Status status Transaction status
Response
type CallbackTransactionResponse struct {
    Success bool   // operation succeeded
    Message string // response message
}

License

MIT

Documentation

Index

Constants

View Source
const (
	TransactionTypeCard           = "card"
	TransactionTypeTransfer       = "transfer"
	TransactionTypeRemittance     = "remittance"
	TransactionTypeAccountOpening = "account_opening"
	TransactionTypeAccountLogin   = "account_login"
	TransactionTypeAccountChange  = "account_change"
	TransactionTypeRefund         = "refund"
	TransactionTypeWithdrawal     = "withdrawal"
	TransactionTypeDeposit        = "deposit"
	TransactionTypeP2P            = "p2p"
	TransactionTypeCrypto         = "crypto"
	TransactionTypeBNPL           = "bnpl"
	TransactionTypeLoan           = "loan"
	TransactionTypeInvoice        = "invoice"
)

Transaction type constants.

View Source
const (
	TransferTypeWalletToWallet = "wallet_to_wallet"
	TransferTypeWalletToIBAN   = "wallet_to_iban"
	TransferTypeIBANToWallet   = "iban_to_wallet"
	TransferTypeRemittance     = "remittance"
)

Transfer subtype constants for Transfer.TransferType.

View Source
const (
	CustomerAccountTypeIndividual   = "individual"
	CustomerAccountTypeOrganization = "organization"
)

Customer account type constants.

View Source
const (
	WithdrawalMethodMoneyTransferCollection = "money_transfer_collection"
)

Withdrawal method constants for Withdrawal.WithdrawalMethod.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIError

type APIError struct {
	StatusCode int
	Message    string
}

APIError represents an error returned by the Aurora API.

func (*APIError) Error

func (e *APIError) Error() string

type AccountChange added in v1.0.1

type AccountChange struct {
	ChangeType          string `json:"change_type,omitempty"`
	PreviousValueHash   string `json:"previous_value_hash,omitempty"`
	TimeSinceLastChange string `json:"time_since_last_change,omitempty"`
	VerificationMethod  string `json:"verification_method,omitempty"`
}

AccountChange holds account modification event data.

type AccountLogin added in v1.0.1

type AccountLogin struct {
	FailedAttempts string `json:"failed_attempts,omitempty"`
	LoginMethod    string `json:"login_method,omitempty"`
	LoginStatus    string `json:"login_status,omitempty"`
	MFAMethod      string `json:"mfa_method,omitempty"`
	MFAUsed        string `json:"mfa_used,omitempty"`
	SessionID      string `json:"session_id,omitempty"`
}

AccountLogin holds login event data.

type AccountOpening added in v1.0.1

type AccountOpening struct {
	DocumentType               string `json:"document_type,omitempty"`
	IdentityVerificationStatus string `json:"identity_verification_status,omitempty"`
	RegistrationMethod         string `json:"registration_method,omitempty"`
}

AccountOpening holds account registration data.

type BNPL added in v1.0.1

type BNPL struct {
	BNPLProvider          string `json:"bnpl_provider,omitempty"`
	InstallmentCount      string `json:"installment_count,omitempty"`
	OutstandingBNPLAmount string `json:"outstanding_bnpl_amount,omitempty"`
}

BNPL holds buy-now-pay-later transaction data.

type CallbackService added in v1.0.3

type CallbackService struct {
	// contains filtered or unexported fields
}

CallbackService handles callback operations.

func (*CallbackService) Transaction added in v1.0.3

Transaction sends a callback transaction request.

type CallbackTransactionRequest added in v1.0.3

type CallbackTransactionRequest struct {
	Message   string `json:"message"`
	PaymentID string `json:"payment_id"`
	Status    string `json:"status"`
}

CallbackTransactionRequest represents a callback transaction request.

type CallbackTransactionResponse added in v1.0.3

type CallbackTransactionResponse struct {
	Message string `json:"message"`
}

CallbackTransactionResponse represents the result of a callback transaction.

type Card added in v1.0.1

type Card struct {
	BinNumber string `json:"bin_number,omitempty"`
	Holder    string `json:"holder,omitempty"`
	Issuer    string `json:"issuer,omitempty"`
	LastFour  string `json:"last_four,omitempty"`
	MCC       string `json:"mcc,omitempty"`
	Network   string `json:"network,omitempty"`
	Token     string `json:"token,omitempty"`
	Type      string `json:"type,omitempty"`
}

Card holds payment card details.

type Client

type Client struct {
	Callback *CallbackService
	Process  *ProcessService
	// contains filtered or unexported fields
}

Client is the Aurora API client.

func NewClient

func NewClient(apiKey string, opts ...Option) *Client

NewClient creates a new Aurora API client.

type Common added in v1.0.1

type Common struct {
	Amount             float64 `json:"amount,omitempty"`
	Balance            float64 `json:"balance,omitempty"`
	BrowserAgent       string  `json:"browser_agent,omitempty"`
	Category           string  `json:"category,omitempty"`
	ConnectionType     string  `json:"connection_type,omitempty"`
	Country            string  `json:"country,omitempty"`
	Currency           string  `json:"currency,omitempty"`
	Date               string  `json:"date,omitempty"`
	Description        string  `json:"description,omitempty"`
	DeviceFingerprint  string  `json:"device_fingerprint,omitempty"`
	DeviceID           string  `json:"device_id,omitempty"`
	FirstName          string  `json:"first_name,omitempty" example:"John"`
	LastName           string  `json:"last_name,omitempty" example:"Doe"`
	IdentityNumber     string  `json:"identity_number,omitempty" example:"123456789"`
	Email              string  `json:"email,omitempty"`
	IPAddress          string  `json:"ip_address,omitempty"`
	LastLoginIP        string  `json:"last_login_ip,omitempty"`
	LastLoginTime      string  `json:"last_login_time,omitempty"`
	Latitude           string  `json:"latitude,omitempty"`
	LocationCity       string  `json:"location_city,omitempty"`
	LocationCountry    string  `json:"location_country,omitempty"`
	LocationRegion     string  `json:"location_region,omitempty"`
	LocationRegionCode string  `json:"location_region_code,omitempty"`
	LocationSource     string  `json:"location_source,omitempty"`
	Longitude          string  `json:"longitude,omitempty"`
	MerchantID         string  `json:"merchant_id,omitempty"`
	MerchantName       string  `json:"merchant_name,omitempty"`
	PaymentID          string  `json:"payment_id,omitempty"`
	Phone              string  `json:"phone,omitempty"`
	ReferenceID        string  `json:"reference_id,omitempty"`
	UserID             string  `json:"user_id,omitempty"`
}

Common holds core transaction and user identification fields.

type Crypto added in v1.0.1

type Crypto struct {
	CryptoAmount    string `json:"crypto_amount,omitempty"`
	CryptoCurrency  string `json:"crypto_currency,omitempty"`
	ExchangeName    string `json:"exchange_name,omitempty"`
	IsSmartContract string `json:"is_smart_contract,omitempty"`
	WalletAddress   string `json:"wallet_address,omitempty"`
}

Crypto holds cryptocurrency transaction data.

type Deposit added in v1.0.1

type Deposit struct {
	CheckNumber     string `json:"check_number,omitempty"`
	DepositMethod   string `json:"deposit_method,omitempty"`
	DepositSource   string `json:"deposit_source,omitempty"`
	IsRemoteDeposit string `json:"is_remote_deposit,omitempty"`
}

Deposit holds deposit transaction data.

type ErrorResponse

type ErrorResponse struct {
	Error string `json:"error"`
}

ErrorResponse represents an API error.

type Invoice added in v1.0.1

type Invoice struct {
	InvoiceDueDate    string `json:"invoice_due_date,omitempty"`
	InvoiceNumber     string `json:"invoice_number,omitempty"`
	IsRecurringVendor string `json:"is_recurring_vendor,omitempty"`
	PurchaseOrderID   string `json:"purchase_order_id,omitempty"`
	VendorID          string `json:"vendor_id,omitempty"`
	VendorName        string `json:"vendor_name,omitempty"`
}

Invoice holds invoice and vendor payment data.

type Loan added in v1.0.1

type Loan struct {
	CreditScore       string `json:"credit_score,omitempty"`
	DebtToIncomeRatio string `json:"debt_to_income_ratio,omitempty"`
	EmploymentStatus  string `json:"employment_status,omitempty"`
	LoanAmount        string `json:"loan_amount,omitempty"`
	LoanTerm          string `json:"loan_term,omitempty"`
	LoanType          string `json:"loan_type,omitempty"`
}

Loan holds loan application data.

type Option

type Option func(*Client)

Option is a functional option for configuring the Client.

func WithBaseURL

func WithBaseURL(url string) Option

WithBaseURL sets the host URL (e.g. "https://api.example.com"). The API path (/api/v1) is appended automatically.

func WithHTTPClient

func WithHTTPClient(hc *http.Client) Option

WithHTTPClient sets a custom HTTP client.

func WithTimeout

func WithTimeout(d time.Duration) Option

WithTimeout sets the HTTP client timeout.

type P2P added in v1.0.1

type P2P struct {
	PaymentNote         string `json:"payment_note,omitempty"`
	Platform            string `json:"platform,omitempty"`
	RecipientAccountAge string `json:"recipient_account_age,omitempty"`
}

P2P holds peer-to-peer payment data.

type ProcessRequest

type ProcessRequest struct {
	RuleID        string `json:"rule_id,omitempty"`
	RulesetID     string `json:"ruleset_id,omitempty"`
	TransactionID string `json:"transaction_id,omitempty"`
	// LifecycleRootTransactionID links a remittance collection to the remittance
	// send that opened its lifecycle; only valid on a remittance collection request.
	LifecycleRootTransactionID string       `json:"lifecycle_root_transaction_id,omitempty"`
	Transaction                *Transaction `json:"transaction,omitempty"`
}

ProcessRequest represents a rule processing request.

type ProcessResponse

type ProcessResponse struct {
	TransactionID  string        `json:"transaction_id,omitempty"`
	Allow          bool          `json:"allow"`
	AllowMessage   string        `json:"allow_message,omitempty"`
	Error          bool          `json:"error"`
	ErrorMessage   string        `json:"error_message,omitempty"`
	ExecutionTime  time.Duration `json:"execution_time"`
	InspectMessage string        `json:"inspect_message,omitempty"`
	NeedInspect    bool          `json:"need_inspect"`
	RejectMessage  string        `json:"reject_message,omitempty"`
	Rejected       bool          `json:"rejected"`
	Score          int           `json:"score"`
}

ProcessResponse represents the result of rule processing.

type ProcessService

type ProcessService struct {
	// contains filtered or unexported fields
}

ProcessService handles rule processing operations.

func (*ProcessService) Execute

Execute processes a transaction against a rule or ruleset and returns the result.

type Refund added in v1.0.1

type Refund struct {
	DaysSincePurchase     string `json:"days_since_purchase,omitempty"`
	OriginalTransactionID string `json:"original_transaction_id,omitempty"`
	RefundMethod          string `json:"refund_method,omitempty"`
	RefundReason          string `json:"refund_reason,omitempty"`
}

Refund holds refund transaction data.

type Transaction

type Transaction struct {
	// Nested sub-objects
	AccountChange  *AccountChange  `json:"account_change,omitempty"`
	AccountLogin   *AccountLogin   `json:"account_login,omitempty"`
	AccountOpening *AccountOpening `json:"account_opening,omitempty"`
	BNPL           *BNPL           `json:"bnpl,omitempty"`
	Card           *Card           `json:"card,omitempty"`
	Common         *Common         `json:"common,omitempty"`
	Crypto         *Crypto         `json:"crypto,omitempty"`
	Deposit        *Deposit        `json:"deposit,omitempty"`
	Invoice        *Invoice        `json:"invoice,omitempty"`
	Loan           *Loan           `json:"loan,omitempty"`
	P2P            *P2P            `json:"p2p,omitempty"`
	Refund         *Refund         `json:"refund,omitempty"`
	Transfer       *Transfer       `json:"transfer,omitempty"`
	Withdrawal     *Withdrawal     `json:"withdrawal,omitempty"`

	// Top-level scalar fields
	AccountAgeDays          string `json:"account_age_days,omitempty"`
	CustomerAccountType     string `json:"customer_account_type,omitempty"`
	CustomerAgeYears        string `json:"customer_age_years,omitempty"`
	DeclinedCount           string `json:"declined_count,omitempty"`
	FirstTransactionAgeDays string `json:"first_transaction_age_days,omitempty"`
	IncomeMultiplier        string `json:"income_multiplier,omitempty"`
	IPCity                  string `json:"ip_city,omitempty"`
	IPCountry               string `json:"ip_country,omitempty"`
	IsFirstTransfer         string `json:"is_first_transfer,omitempty"`
	IsNewDevice             string `json:"is_new_device,omitempty"`
	IsNewIP                 string `json:"is_new_ip,omitempty"`
	IsUnusualLocation       string `json:"is_unusual_location,omitempty"`
	PasswordChangedRecently string `json:"password_changed_recently,omitempty"`
	ProfileCompletion       string `json:"profile_completion,omitempty"`
	RefundCount             string `json:"refund_count,omitempty"`
	RefundRatio             string `json:"refund_ratio,omitempty"`
	RegisteredIncome        string `json:"registered_income,omitempty"`
	TotalAmount24h          string `json:"total_amount_24h,omitempty"`
	TotalAmount7d           string `json:"total_amount_7d,omitempty"`
	TransactionHour         string `json:"transaction_hour,omitempty"`
	TransactionType         string `json:"transaction_type,omitempty"`
	TransferCount24h        string `json:"transfer_count_24h,omitempty"`
	Type                    string `json:"type"`
	UniqueRecipients        string `json:"unique_recipients,omitempty"`
}

Transaction contains all the data fields that can be evaluated by rules.

type Transfer added in v1.0.1

type Transfer struct {
	ExchangeRate             string `json:"exchange_rate,omitempty"`
	PaymentMethod            string `json:"payment_method,omitempty"`
	ReceiverAddress          string `json:"receiver_address,omitempty"`
	ReceiverCountry          string `json:"receiver_country,omitempty"`
	ReceiverIBAN             string `json:"receiver_iban,omitempty"`
	ReceiverIdentityPassport string `json:"receiver_identity_passport,omitempty"`
	ReceiverName             string `json:"receiver_name,omitempty"`
	ReceiverSurname          string `json:"receiver_surname,omitempty"`
	ReceiverWalletID         string `json:"receiver_wallet_id,omitempty"`
	ReceiverIdentityNumber   string `json:"receiver_identity_number,omitempty" example:"987654321"`
	ReceiverPhone            string `json:"receiver_phone,omitempty" example:"+0987654321"`
	ReceiverEmail            string `json:"receiver_email,omitempty" example:"john@doe.com"`
	Relationship             string `json:"relationship,omitempty"`
	SenderAddress            string `json:"sender_address,omitempty"`
	SenderCountry            string `json:"sender_country,omitempty"`
	SenderIBAN               string `json:"sender_iban,omitempty"`
	SenderIdentityPassport   string `json:"sender_identity_passport,omitempty"`
	SenderName               string `json:"sender_name,omitempty"`
	SenderSurname            string `json:"sender_surname,omitempty"`
	SenderWalletID           string `json:"sender_wallet_id,omitempty"`
	SenderIdentityNumber     string `json:"sender_identity_number,omitempty" example:"123456789"`
	SenderPhone              string `json:"sender_phone,omitempty" example:"+1234567890"`
	SenderEmail              string `json:"sender_email,omitempty" example:"john@doe.com"`
	SourceOfFunds            string `json:"source_of_funds,omitempty"`
	TargetCurrency           string `json:"target_currency,omitempty"`
	TransferPurpose          string `json:"transfer_purpose,omitempty"`
	TransferType             string `json:"transfer_type,omitempty"`
}

Transfer holds international money transfer fields.

type ValidationError added in v1.0.1

type ValidationError struct {
	Field   string
	Message string
}

ValidationError represents a client-side validation error.

func (*ValidationError) Error added in v1.0.1

func (e *ValidationError) Error() string

type Withdrawal added in v1.0.1

type Withdrawal struct {
	AccountType          string `json:"account_type,omitempty"`
	ATMID                string `json:"atm_id,omitempty"`
	DailyWithdrawalCount string `json:"daily_withdrawal_count,omitempty"`
	WithdrawalMethod     string `json:"withdrawal_method,omitempty"`
}

Withdrawal holds withdrawal transaction data.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL