跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://developers-sandbox.uqpaytech.com/llms.txt

Use this file to discover all available pages before exploring further.

本页覆盖 UQPAY Go client 上所有资源命名空间,每个命名空间对应一条 UQPAY 产品线。

Issuing

创建持卡人

cardholder, err := client.Issuing.Cardholders.Create(ctx, &issuing.CreateCardholderRequest{
    Email:       "[email protected]",
    PhoneNumber: "1234567890",
    FirstName:   "John",
    LastName:    "Doe",
    CountryCode: "US",
})
if err != nil {
    log.Fatal(err)
}
fmt.Printf("Cardholder ID: %s\n", cardholder.CardholderID)

列出卡产品

products, err := client.Issuing.Products.List(ctx, &issuing.ListProductsRequest{
    PageSize:   10,
    PageNumber: 1,
})
if err != nil {
    log.Fatal(err)
}

for _, product := range products.Data {
    fmt.Printf("Product: %s (%s)\n", product.ProductID, product.CardScheme)
}

创建卡片

card, err := client.Issuing.Cards.Create(ctx, &issuing.CreateCardRequest{
    CardCurrency:  "USD",
    CardholderID:  cardholder.CardholderID,
    CardProductID: "product-id",
})
if err != nil {
    log.Fatal(err)
}
fmt.Printf("Card ID: %s (Status: %s)\n", card.CardID, card.CardStatus)

获取卡安全信息

secureInfo, err := client.Issuing.Cards.GetSecure(ctx, card.CardID)
if err != nil {
    log.Fatal(err)
}
fmt.Printf("Card Number: %s\n", secureInfo.CardNumber)
fmt.Printf("CVV: %s\n", secureInfo.CVV)
fmt.Printf("Expiry: %s\n", secureInfo.ExpiryDate)

卡充值

order, err := client.Issuing.Cards.Recharge(ctx, card.CardID, &issuing.CardOrderRequest{
    Amount: 100.50,
})
if err != nil {
    log.Fatal(err)
}
fmt.Printf("Recharge Order ID: %s\n", order.OrderID)

卡提现

order, err := client.Issuing.Cards.Withdraw(ctx, card.CardID, &issuing.CardOrderRequest{
    Amount: 50.00,
})
if err != nil {
    log.Fatal(err)
}
fmt.Printf("Withdraw Order ID: %s (Status: %s)\n", order.OrderID, order.Status)

更新卡状态

// 冻结卡
err = client.Issuing.Cards.UpdateStatus(ctx, card.CardID, &issuing.UpdateCardStatusRequest{
    CardStatus: "FROZEN",
})
if err != nil {
    log.Fatal(err)
}

// 解除冻结
err = client.Issuing.Cards.UpdateStatus(ctx, card.CardID, &issuing.UpdateCardStatusRequest{
    CardStatus: "ACTIVE",
})

列出交易

transactions, err := client.Issuing.Transactions.List(ctx, &issuing.ListTransactionsRequest{
    PageSize:   10,
    PageNumber: 1,
    CardID:     card.CardID,
})
if err != nil {
    log.Fatal(err)
}

for _, txn := range transactions.Data {
    fmt.Printf("Transaction: %s - %s %s\n",
        txn.TransactionID,
        txn.TransactionAmount,
        txn.TransactionCurrency,
    )
}

Banking

余额

balances, err := client.Banking.Balances.List(ctx, &banking.ListBalancesRequest{
    PageSize:   20,
    PageNumber: 1,
})

balance, err := client.Banking.Balances.Get(ctx, "SGD")

txns, err := client.Banking.Balances.ListTransactions(ctx, &banking.ListBalanceTransactionsRequest{
    PageSize: 20,
})

转账

transfer, err := client.Banking.Transfers.Create(ctx, &banking.CreateTransferRequest{
    SourceAccountID:      "acc-123",
    DestinationAccountID: "acc-456",
    Currency:             "SGD",
    Amount:               "100.00",
})

transfers, err := client.Banking.Transfers.List(ctx, &banking.ListTransfersRequest{
    PageSize: 20,
})

transfer, err := client.Banking.Transfers.Get(ctx, "transfer-id")

充值

deposits, err := client.Banking.Deposits.List(ctx, &banking.ListDepositsRequest{
    PageSize: 20,
})

deposit, err := client.Banking.Deposits.Get(ctx, "deposit-id")

受益人

beneficiary, err := client.Banking.Beneficiaries.Create(ctx, &banking.CreateBeneficiaryRequest{
    // ... 填充字段
})

list, err := client.Banking.Beneficiaries.List(ctx, &banking.ListBeneficiariesRequest{
    PageSize: 20,
})

beneficiary, err := client.Banking.Beneficiaries.Get(ctx, "ben-id")
beneficiary, err = client.Banking.Beneficiaries.Update(ctx, "ben-id", updateRequest)
err = client.Banking.Beneficiaries.Delete(ctx, "ben-id")
err = client.Banking.Beneficiaries.Check(ctx, checkRequest)

出款

payout, err := client.Banking.Payouts.Create(ctx, &banking.CreatePayoutRequest{
    BeneficiaryID: "ben-123",
    Currency:      "SGD",
    Amount:        "50.00",
    PurposeCode:   "PERSONAL",
})

虚拟账户

va, err := client.Banking.VirtualAccounts.Create(ctx, &banking.CreateVirtualAccountRequest{
    Currency: "SGD",
})

list, err := client.Banking.VirtualAccounts.List(ctx, &banking.ListVirtualAccountsRequest{
    PageSize: 20,
})

换汇

quote, err := client.Banking.Conversions.CreateQuote(ctx, &banking.CreateQuoteRequest{
    SellCurrency: "SGD",
    BuyCurrency:  "USD",
    Amount:       "100",
    FixedSide:    "SELL",
})

conversion, err := client.Banking.Conversions.Create(ctx, &banking.CreateConversionRequest{
    QuoteID: quote.QuoteID,
})

conversions, err := client.Banking.Conversions.List(ctx, &banking.ListConversionsRequest{
    PageSize: 20,
})

dates, err := client.Banking.Conversions.ListConversionDates(ctx, nil)

汇率

rates, err := client.Banking.ExchangeRates.List(ctx, &banking.ListExchangeRatesRequest{})