UQPayClient上的每个namespace都对应一个UQPAY产品。以下示例来自公开的Python SDK仓库。
Account Center
# Accounts
accounts = client.connect.accounts.list({"page_number": 1, "page_size": 20})
account = client.connect.accounts.retrieve("acc-id")
account = client.connect.accounts.create({...})
# Sub-accounts
sub_account = client.connect.sub_accounts.create({...})
# Additional documents
docs = client.connect.additional_docs.get()
Global Account
# Balances
balances = client.banking.balances.list({"page_number": 1, "page_size": 20})
balance = client.banking.balances.retrieve("SGD")
txns = client.banking.balances.list_transactions({"page_number": 1, "page_size": 20})
# Transfers
transfer = client.banking.transfers.create({
"source_account_id": "acc-123",
"target_account_id": "acc-456",
"currency": "SGD",
"amount": "100.00",
"reason": "Fund sub-account",
})
transfers = client.banking.transfers.list({"page_number": 1, "page_size": 20})
transfer = client.banking.transfers.retrieve("transfer-id")
# Deposits
deposits = client.banking.deposits.list({"page_number": 1, "page_size": 20})
deposit = client.banking.deposits.retrieve("deposit-id")
# Beneficiaries
beneficiary = client.banking.beneficiaries.create({...})
beneficiaries = client.banking.beneficiaries.list({"page_number": 1, "page_size": 20})
beneficiary = client.banking.beneficiaries.retrieve("ben-id")
client.banking.beneficiaries.update("ben-id", {})
client.banking.beneficiaries.delete("ben-id")
client.banking.beneficiaries.check({...})
Card Issuance
cardholder = client.issuing.cardholders.create({
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.com",
"phone_number": "+6591234567",
"country_code": "SG",
"date_of_birth": "1990-01-15",
})
cardholders = client.issuing.cardholders.list({"page_number": 1, "page_size": 20})
cardholder = client.issuing.cardholders.retrieve("ch-id")
client.issuing.cardholders.update("ch-id", {"first_name": "Updated"})
card = client.issuing.cards.create({
"cardholder_id": "ch-id",
"product_id": "prod-id",
"card_type": "VIRTUAL",
"currency": "SGD",
})
cards = client.issuing.cards.list({"page_number": 1, "page_size": 20})
card = client.issuing.cards.retrieve("card-id")
client.issuing.cards.update_status("card-id", {"status": "FROZEN"})
Global Acquiring
intent = client.payment.payment_intents.create({
"amount": "100.00",
"currency": "SGD",
"merchant_order_id": "order-001",
"return_url": "https://example.com/return",
})
client.payment.payment_intents.confirm(intent["payment_intent_id"], {"payment_method": {...}})
client.payment.payment_intents.capture("pi-id")
client.payment.payment_intents.cancel("pi-id", {"cancellation_reason": "requested_by_customer"})
intents = client.payment.payment_intents.list({"page_number": 1, "page_size": 20})
refund = client.payment.refunds.create({
"payment_intent_id": "pi-id",
"amount": "50.00",
"reason": "requested_by_customer",
})
refunds = client.payment.refunds.list({"page_number": 1, "page_size": 20})
refund = client.payment.refunds.retrieve("refund-id")
Supporting Services
with open("document.pdf", "rb") as f:
result = client.supporting.files.upload(
file_data=f.read(),
filename="document.pdf",
mime_type="application/pdf",
)
links = client.supporting.files.download_links([result["file_id"]])
Simulator
Simulator仅在Sandbox环境中可用。# Simulate a card authorization
result = client.simulator.issuing.authorize({
"card_id": "card-id",
"amount": 25.0,
"currency": "SGD",
"transaction_status": "APPROVED",
})
# Simulate a reversal
client.simulator.issuing.reverse({
"card_id": "card-id",
"transaction_id": result["transaction_id"],
})
# Simulate a deposit
client.simulator.deposits.simulate({
"currency": "SGD",
"amount": 500.0,
})

