搜 索

Core Systems Introduction — Payment Flow, UFS, UES, Redis

  • 6阅读
  • 2026年05月23日
  • 0评论
首页 / 编程 / 正文

Core Systems Introduction — Payment Flow, UFS, UES, Redis

Use case: Internal team systems introduction / New hire onboarding
Suggested duration: 30–60 minutes
Document source: Pay Core Workspace - Microservices

Table of Contents

  1. System Overview
  2. Payment Flow (Focus)

  3. UFS — Unified File Service

  4. UES — Unified Encryption/Decryption Service

  5. Redis — redis-starter & Cluster Solution

  6. Summary
  7. Reference Documents

1. System Overview

📖 References: Microservices main docCore Systems Brief Introduction
graph TB APP[APP / H5 / Merchant System] --> CGS[CGS Client Gateway] CGS --> TRADE[tradeii Transaction Service] TRADE --> CASHIER[cashierii Cashier] CASHIER --> AUTHPAY[authpay Payment Auth] CASHIER --> MEMBER[member] CASHIER --> GRC[grc Risk Control] TRADE --> PFS[pfs Pre-payment] PFS --> PAYMENT[payment Payment Engine] PAYMENT --> CMF[cmf Channel Management] CMF --> ROUTER[router Channel Routing] PAYMENT --> DPM[dpm Wallet/Account] PAYMENT --> Basic[Basic Services UES/UFS/Redis]

Focus of this session: Payment Core payment flow + the three Basic infrastructure components UES / UFS / Redis.


2. Payment Flow (Focus)

📖 References:

The complete APP payment main flow consists of 5 stages:

sequenceDiagram autonumber participant FE as Frontend APP participant BIZ as Business System participant TRADE as tradeii participant CASH as cashdesk participant AUTH as authpay participant MEM as member participant GRC as grc Risk Control participant PFS as pfs participant PAY as payment participant CMF as cmf participant CHAN as Channel participant DPM as dpm participant REDIS as Redis Note over FE,REDIS: Stage 1: Create Order & Get Cashier Token FE->>BIZ: Place order BIZ->>TRADE: Create transaction order TRADE-->>BIZ: Return order BIZ->>CASH: Request cashier token CASH->>REDIS: Cache token ↔ order number binding CASH-->>BIZ: Return token BIZ-->>FE: Return order number + token Note over FE,REDIS: Stage 2: Invoke Cashier & Auth FE->>CASH: Invoke cashier with token CASH->>REDIS: Look up order number by token CASH->>AUTH: Query payment methods supported by product code CASH->>MEM: Query bank cards / payment order CASH->>GRC: Query verification items CASH-->>FE: Render cashier Note over FE,REDIS: Stage 3: Select Payment Method & Risk Verification FE->>GRC: User verification (password / 3DS) GRC-->>FE: Return ticket Note over FE,REDIS: Stage 4: Initiate Payment FE->>CASH: Initiate payment with risk ticket CASH->>TRADE: Call payment API TRADE->>PFS: Call pre-payment PFS->>PAY: Dispatch payment engine PAY->>CMF: Call channel management CMF->>CHAN: Route and send request CHAN-->>CMF: Return result / 3DS link CMF-->>PAY: Return result PAY->>DPM: Debit/Credit PAY-->>TRADE: Sync status TRADE-->>BIZ: Status sync BIZ-->>FE: Payment success Note over FE,REDIS: Stage 5: Settlement TRADE->>PFS: Trigger settlement PFS->>PAY: Execute settlement PAY->>DPM: Funds from pending settlement account → actual receiving account

2.1 Stage Description

StageDescriptionMain ApplicationsMain Tables
1. Create Order & Get TokenBusiness places order + token-order binding cached in Redistradeii, cashdeskBusiness order table, tradeii.t_trade_order
2. Invoke Cashier & AuthLook up order by token + query user's supported payment methodscashdesk, authpay, member, pbs, grccashdesk.t_group / t_filter_scheme / t_filter_node
3. Select Payment Method & Risk VerificationRisk scoring + match verification rules (password/3DS)grc, amlaml.t_identity_decision, aml.t_identity_rule
4. Initiate PaymentFee calculation + channel routing + channel request + dpm debit/credittradeii, pbs, pfs, payment, cmf, router, dpm, grctradeii.t_trade_order / t_pay_order, cmf.tt_inst_order, router.t_channel*
5. Trigger SettlementMoney moves from pending settlement account → business's actual receiving accounttradeii, pfs, paymentdpm account tables

2.2 Key Concept Distinctions

Payment ≠ Settlement

  • Payment: User's money enters the "pending settlement account"
  • Settlement: Transfer from pending settlement account into the business's actual receiving account
  • Settlement trigger modes: auto-settlement / periodic settlement / manual settlement

2.3 Channel Routing Diagram

flowchart LR PAY[payment] --> CMF[cmf Channel Management] CMF --> ROUTER[router Routing] ROUTER -->|verification=3DS| CH1[3DS Channel] ROUTER -->|verification=password| CH2[Non-3DS Channel] ROUTER -->|Card org/Amount/Merchant| CH3[Other Channels]

Routing rule dimensions: verification method, card institution, order amount, merchant number, payer member number, priority.


3. UFS — Unified File Service

📖 References:

3.1 Positioning

UFS (Unified File Service) = unified wrapper for file storage/sharing.

  • Underlying layer wraps Alibaba Cloud OSS / Azure Blob
  • Design goal: shield differences between underlying cloud vendors, enabling easy future cloud migration
  • Current implementation is Proxy mode: all upload/download traffic except download URLs flows through the UFS Server
  • New applications uniformly integrate with ufs2 (legacy APIs are kept only for compatibility)

3.2 Architecture

flowchart LR CLIENT[UFS Client Business App] -- Upload/Download Request --> PROXY[UFS Server gp114_ufs2 Proxy Mode] PROXY -- Forward --> OSS[Azure Blob / Aliyun OSS] OSS -- File --> PROXY PROXY -- Response --> CLIENT

3.3 Two Authorization Modes

ModeUse CaseAuthorization RequiredPath Prefix
Standalone BucketDedicated storage, high data security requirementsUFS user authorization (Basic Auth)/ufs2/standalone
Shared BucketLower data security requirements, accessible by other internal systemsNo UFS user authorization/ufs2/share

3.4 Standalone Bucket Application Process

flowchart TD A[Application Owner submits ufs bucket request] --> B[OPS Team creates bucket in sim/prod] B --> C[OPS Team fills bucket name in JIRA] C --> D[UFS Manager shangkai.shi] D --> E[Create sim/uat/prod ufs user in basis portal] E --> F[Fill account info in JIRA]

Application key points:

  • sim bucket names end with test, prod bucket names end with prod
  • sim and uat share the same bucket
  • UFS Manager: shangkai.shi (backups: yongxing.cao, cong.zhou)

3.5 Integration Methods

Four types of API are provided:

  • Java Client (recommended): ufs-Standalone bucket-java Client / ufs-Share bucket-java Client
  • HTTP API (cross-language): ufs-Standalone bucket-http API / ufs-Share bucket-http API

Environment URLs (HTTP):

EnvironmentURL
simhttps://sim-api-intra.test2pay.com/ufs2
uathttps://uat.intra.test2pay.com/ufs2
prodhttps://intra.payby.com/ufs2

3.6 HTTP API - Standalone Bucket

📖 ufs-Standalone bucket-http API

Common request headers:

HeaderRequiredDescription
AuthorizationBasic Auth credentials, allocated per application
x-ufs-client-idClient ID, e.g. gp024_cgs
x-ufs-bucket-aliasSpecify bucket alias; if omitted, the default bucket configured in db is used

3.6.1 Upload File (PUT)

PUT {url}/standalone/file/{ossPath}

Optional request headers:

  • x-ufs-forbid-overwrite: Forbid overwriting same-name file (default allows overwrite)
  • x-ufs-encrypt: Encrypt on UFS side (default not encrypted)
  • x-ufs-meta-*: Custom metadata (e.g. x-ufs-meta-check-sum, only a-z and -)
curl -v --request PUT \
  'https://sim-api-intra.test2pay.com/ufs2/standalone/file/demo/helloworld.txt' \
  --header 'x-ufs-client-id: demo' \
  --header 'Authorization: Basic dWZzX3VuaXR0ZXN0OnVmc191bml0dGVzdA==' \
  --form 'file=@/Users/cong.zhou/temp/hello.txt'
# < HTTP/1.1 200

3.6.2 Download File (GET)

GET {url}/standalone/file/{ossPath}

Response header x-ufs-meta-* returns the metadata set during upload.

curl -v --request GET \
  'https://sim-api-intra.test2pay.com/ufs2/standalone/file/demo/helloworld.txt' \
  --header 'x-ufs-client-id: demo' \
  --header 'Authorization: Basic dWZzX3VuaXR0ZXN0OnVmc191bml0dGVzdA=='
# < HTTP/1.1 200
# < Content-Type: application/octet-stream;charset=UTF-8
# < Content-Disposition: attachment; filename="helloworld.txt"

3.6.3 Get Temporary Authorized Download URL (STS)

GET {url}/standalone/fileUrl/{ossPath}

Optional request headers:

  • x-ufs-expire-seconds: Link validity period (seconds, default 5 minutes)
  • x-ufs-public-access: true returns OSS signed external URL; false returns UFS STS intranet URL (default)
curl -v --request GET \
  'https://sim-api-intra.test2pay.com/ufs2/standalone/fileUrl/demo/helloworld.txt' \
  --header 'x-ufs-client-id: demo' \
  --header 'Authorization: Basic dWZzX3VuaXR0ZXN0OnVmc191bml0dGVzdA=='
# Response:
# {"url":"https://.../ufs2/sts/file/b37e2707...","stsToken":"b37e2707..."}

3.6.4 Copy File (POST)

POST {url}/standalone/copyFile

Request headers specify source and target: x-ufs-from-bucket-alias / x-ufs-from-oss-path / x-ufs-to-bucket-alias / x-ufs-to-oss-path

3.6.5 Copy Shared File to Own Bucket (POST)

POST {url}/standalone/copyShareFile/

Copies a file from the Share Bucket (identified by fileTag) into the standalone bucket.

curl -v --request POST \
  'https://sim-api-intra.test2pay.com/ufs2/standalone/copyShareFile/' \
  --header 'x-ufs-client-id: demo' \
  --header 'Authorization: Basic dWZzX3VuaXR0ZXN0OnVmc191bml0dGVzdA==' \
  --header 'x-ufs-from-file-tag: ce0a58c2...' \
  --header 'x-ufs-to-oss-path: demo/ce0a58c2...' \
  --header 'x-ufs-copy-suffix: true'
# Response: {"ossPath":"demo/ce0a58c2....txt"}

3.7 HTTP API - Share Bucket

📖 ufs-Share bucket-http API

Share Bucket does not require Authorization, only x-ufs-client-id. The returned fileTag is the file's unique ID.

3.7.1 Upload File (PUT)

PUT {url}/share/file

Optional request headers:

  • x-ufs-expire-seconds: File expiration time; file is inaccessible after expiration (default no expiration)
  • x-ufs-encrypt: Encrypt on UFS side
  • x-ufs-meta-*: Custom metadata
curl -v --request PUT \
  'http://sim-api-intra.test2pay.com/ufs2/share/file' \
  --header 'x-ufs-client-id: demo' \
  --form 'file=@/Users/cong.zhou/temp/hello.txt'
# Response: {"fileTag":"0abe2b6a57c5463cb5837c523d8fa601"}

3.7.2 Download File (GET)

GET {url}/share/file/{fileTag}

curl -v --request GET \
  'http://sim-api-intra.test2pay.com/ufs2/share/file/0abe2b6a...' \
  --header 'x-ufs-client-id: demo'

3.7.3 Get File Metadata (GET)

GET {url}/share/fileMeta/{fileTag}

Returns the x-ufs-meta-* data from response headers.

3.7.4 Adopt File (PATCH)

PATCH {url}/share/adopt/{fileTag}

Convert a temporary file into a permanent file (prevents cleanup on expiration).

curl -v --request PATCH \
  'http://sim-api-intra.test2pay.com/ufs2/share/adopt/83a151bb...' \
  --header 'x-ufs-client-id: demo'

3.7.5 Get Temporary Authorized Download URL (GET)

GET {url}/share/fileUrl/{fileTag}

Parameters same as Standalone mode. If x-ufs-public-access=true, must be called by the application that uploaded or adopted the file.

3.8 Return Codes

HTTPJAVA Return CodeDescription
200-Operation succeeded
400INVALID_PARAMETERParameter error
401UNAUTHORIZEDUnauthorized
404NOT_EXISTNot exist
409CONFLICTOperation not allowed (e.g. file already exists when overwrite is forbidden)
410EXPIREDExpired
OtherSYSTEM_ERRORSystem error

4. UES — Unified Encryption/Decryption Service

📖 References:

4.1 Positioning

UES (Unified Encryption/Decryption Service) = unified handling of sensitive field encryption/decryption.

  • Client dependency: com.uaepay.basis.ues:ues-client, current version 2.3.4
  • Business database stores only tickets, not plaintext; use ticket to decrypt when needed
  • Maintainer: Cao Yongxing

4.2 Core Concept: Ticket

flowchart LR PLAIN[Plaintext Data Mobile/Card/CVV2] --> UES{UES Service} UES -->|Temporary| TEMP[Temporary Ticket prefix C] UES -->|Persistent| PERSIST[Persistent Ticket prefix P] UES -->|With Digest| DIGEST[Persistent Ticket + Digest] TEMP -.convert.-> PERSIST BIZ[Business System] --> UES UES -->|Store ticket| DB[(Business DB)]

4.3 Ticket Type Comparison

TypePrefixStorageTTLTypical Use Case
Temporary TicketCMemory (Redis)Seconds to minutesSensitive data transfer within one session
Persistent TicketPDB / MongoDBLong-termSensitive fields persisted long-term by business
Persistent + DigestP...-xxxDBLong-termFields requiring verification/statistics
Large Field PersistentPMongoDBLong-term≤ 5,000,000 characters, GZIP compression supported

4.4 Main Capabilities

  • Temporary ticket / persistent ticket / persistent ticket with digest
  • Large field persistent ticket (≤ 5,000,000 characters, stored in MongoDB; MySQL sharding)
  • Temporary ticket → persistent ticket conversion (data_type can be changed)
  • Look up ticket by plaintext (queryTicket)
  • Batch encryption (saveDatas)

4.5 Supported data_type (Partial)

data_typeRegexDescription
name^.{1,100}$Name
password^.{2,100}$Password, secret key
mobile_no`^(+\\d\-){2,20}$`Mobile number
email^.{5,30}@.{2,30}$Email
card_no^.{2,50}$Card number
cvv2^.+$CVV2
iban^.{5,40}$IBAN
address^.{1,500}$Address
passport^.+$Passport
id^.+$ID card

4.6 Key Version Evolution

timeline title UES Major Version Evolution 2020-02 : 2.2.0 DES → AES 2020-02 : 2.2.1 Temporary ticket to persistent ticket 2021-05 : 2.3.0 Large fields stored in MongoDB, UesClientV2 supports compression 2021-09 : 2.3.2 Look up ticket by plaintext 2026-03 : 2.3.4 Dependency upgrade and refactor

4.7 Java Integration Example

<!-- pom.xml -->
<dependency>
    <groupId>com.uaepay.basis.ues</groupId>
    <artifactId>ues-client</artifactId>
    <version>2.3.4</version>
</dependency>
@Autowired
UesClientV2 uesClient;

// Persistent ticket encryption
EncryptContextV2 context = new EncryptContextV2(plain, "card_no");
uesClient.saveData(context);
String ticket = context.getTicket(); // Business DB stores this ticket

// Decryption
context = new EncryptContextV2();
context.setTicket(ticket);
uesClient.getDataByTicket(context);
String plainData = context.getPlainData();

4.8 HTTP API Access

📖 Credit UES API Documentation

UES primarily recommends Java Client integration, but internal HTTP endpoints are also provided (using Credit UES as an example; the inner API design is identical for other modules).
External HTTP APIs are generally exposed through CGS (Client Gateway Service):

  • Internal call path: /bapi/...
  • Public API path: /api/...
  • Gateway can automatically handle UES tokens via encrypt / responseEncrypt extensions

Base Path: /credit-ues/inner
Content-Type: application/json

4.8.1 Single Encryption

POST /inner/encrypt

{
  "plainData": "sensitive-data",
  "dataType": "USER_INFO",
  "summary": "User personal information"
}

Response:

{
  "success": true,
  "data": "ticket-string",
  "message": null
}
curl -X POST http://localhost:8080/credit-ues/inner/encrypt \
  -H "Content-Type: application/json" \
  -d '{"plainData":"sensitive-data","dataType":"USER_INFO","summary":"User info"}'

4.8.2 Batch Encryption

POST /inner/batchEncrypt

[
  {"plainData":"d1","dataType":"USER_INFO","summary":"s1"},
  {"plainData":"d2","dataType":"USER_INFO","summary":"s2"}
]

Response: data array maps one-to-one with the request; failed entries are null.

{ "success": true, "data": ["ticket1", "ticket2", null], "message": null }

4.8.3 Single Decryption

POST /inner/decrypt

{ "ticket": "ticket-string" }

Response:

{ "success": true, "data": "decrypted-plain-text", "message": null }

Error example:

{ "success": false, "data": null, "message": "ticket not exist in database." }

4.8.4 Batch Decryption

POST /inner/batchDecrypt

{ "tickets": ["ticket1", "ticket2", "ticket3"] }

Response: returns Map<ticket, plain>, including only valid tickets.

{
  "success": true,
  "data": {
    "ticket1": "decrypted-data-1",
    "ticket2": "decrypted-data-2"
  }
}

4.8.5 Encryption/Decryption with Redis Cache

EndpointDescription
POST /inner/encryptWithCacheEncrypt and write plaintext to Redis cache at the same time
POST /inner/batchEncryptWithCacheBatch encryption with cache
POST /inner/decryptWithCacheOn decryption, check Redis first; on miss, fall back to DB and backfill cache
POST /inner/batchDecryptWithCacheBatch decryption with cache, significantly reduces latency for bulk data

Usage recommendations:

  • Frequently read, latency-sensitive data → use *WithCache
  • One-off, strong consistency, write-heavy / read-light → use standard API

4.8.6 Security Model

flowchart LR A[Plaintext] --> B[Generate random AES Key] B --> C[AES-encrypt plaintext] B --> D[RSA-public-key-encrypt AES Key] C --> E[(DB)] D --> E E --> F[Generate ticket]

Encryption: random AES Key encrypts data → RSA public key encrypts AES Key → both stored → ticket generated
Decryption: ticket queries DB → RSA private key restores AES Key → AES decrypts plaintext → GZIP decompress if needed

4.8.7 Common Errors

Error MessageCauseHandling
ticket not exist in databaseInvalid or expired ticketCheck ticket source
Invalid certification certSerialNoCertificate not foundVerify certificate configuration
Exception: ...System exceptionCheck logs

4.8.8 Best Practices

  • Prefer batch APIs to reduce network overhead
  • Use *WithCache for frequently accessed data
  • Check for null in batch responses (partial failures appear as null)
  • Use consistent dataType for the same kind of field for easier data governance
  • Always check the success field before consuming data

5. Redis — redis-starter & Cluster Solution

📖 Reference: redis-starter

5.1 Positioning

  • Internally, Redis is uniformly accessed via com.uaepay.starter:redis-starter
  • Encapsulates Spring Cache, RedisTemplate, Redisson distributed lock
  • Maintainers: Cong Zhou / Yongxing Cao

5.2 Integration Architecture

flowchart TB subgraph App["Business Application"] ANNO["@Cacheable / @CacheEvict"] TPL["RedisTemplate / RedisService"] LOCK["RedissonClient Distributed Lock"] end subgraph Starter["redis-starter"] AUTOCFG[AutoConfiguration] LETTUCE[Lettuce underlying] REDISSON[Redisson] end subgraph RedisCluster["Redis Cluster"] N1[Node 1] N2[Node 2] N3[Node 3] end ANNO --> AUTOCFG TPL --> AUTOCFG LOCK --> REDISSON AUTOCFG --> LETTUCE LETTUCE --> RedisCluster REDISSON --> RedisCluster

5.3 Two Version Lines

1.2.x:

  • 1.2.18 switched to Lettuce + Cluster support
  • 1.2.19 topology auto-refresh
  • 1.2.22 scan interval configurable
  • 1.2.26-SNAPSHOT exposes Redisson configuration

1.3.x:

  • 1.3.6-SNAPSHOT back-ports 1.2.22 + 1.2.26 enhancements

5.4 Deployment & Integration Methods

MethodConfigurationStatus
Cluster Redisspring.redis.cluster.nodes✅ Recommended
Db Indexspring.redis.database❌ Deprecated
When Cluster and Db Index are both configured, only Cluster takes effect.

5.5 Key Configuration

spring:
  application:
    name: redis-starter      # Required, used as key prefix
  redis:
    password: ******
    timeout: 15s
    expireDefault: 10m
    clusterScanInterval: 1m
    cluster:
      max-redirects: 6
      nodes: redis-cluster.sim.test2pay.com:6379
    lettuce:
      pool:
        max-idle: 5
        min-idle: 5
        max-active: 20
        max-wait: 10s
    redisson:
      ping-connection-interval: 1m
      check-lock-synced-slaves: true

5.6 Usage

Annotation-based caching:

@Service
public class SampleUserService {
    public static final String CACHE_NAME = "SAMPLE_USER_BY_ID";

    @Cacheable(value = CACHE_NAME)
    public User getUserById(long id) { /* ... */ }

    @CacheEvict(value = CACHE_NAME)
    public void flushUserById(long id) {}
}

Key rule: keys are automatically prefixed with the application name:

redis-starter:SAMPLE_USER_BY_ID:2971133547753664512

API calls:

@Resource
private RedisTemplate<String, Object> redisTemplate;

@Resource
private RedisService<String, Object> redisService;
⚠️ Do not inject RedisTemplate<String, String> — it pulls in the default StringRedisTemplate and loses the application-name prefix.

Distributed lock:

@Autowired
RedissonClient redissonClient;

public void demo() {
    RLock lock = redissonClient.getSpinLock("lock-key");
    if (!lock.tryLock()) return;
    try {
        // Default 120s auto-renewal
    } finally {
        lock.unlock();
    }
}

5.7 Usage in Payment Chain

  • Cashier token ↔ order number binding cache
  • Business-level caching (auth / product config / risk rules)
  • Distributed locks (prevent duplicate payment / concurrent settlement)
  • UES Temporary Ticket (in-memory sensitive data)
  • Plaintext cache for UES *WithCache endpoints

5.8 Evolution Direction

  • Migrate the legacy G42Cloud cluster to Azure (Redis Cluster supported)
  • See Sunset Legacy Redis and Guide for upgrading to cluster Redis

6. Summary

flowchart TB subgraph BizFlow["Business Flow"] T1[tradeii] --> T2[cashdesk] T2 --> T3[authpay/member/grc] T3 --> T4[pfs/payment] T4 --> T5[cmf/router] T5 --> T6[Channel] T6 --> T7[dpm Account] end subgraph BaseSvc["Basic Service Support"] UES_S[UES Sensitive field ticketing] UFS_S[UFS Unified file storage] REDIS_S[Redis Cache + distributed lock] end BizFlow -.uses.-> BaseSvc
ModuleKey Points
Payment Flow5 stages, payment ≠ settlement
UFSProxy mode; two bucket types; Java Client + HTTP API
UESTicket (C/P); Java Client + HTTP /inner/*
Redisredis-starter; Cluster recommended

7. Reference Documents

7.1 Microservices Overview

DocumentLink
Microservices main dochttps://algento.atlassian.net/wiki/spaces/PCW/pages/1423376385/Microservices
Core Systems Brief Introductionhttps://algento.atlassian.net/wiki/spaces/tester/pages/124289174

7.2 Payment Flow Related

DocumentLink
APP Payment Main Flowhttps://algento.atlassian.net/wiki/spaces/AQ/pages/1268547602/APP
21-pfs-Pre-paymenthttps://algento.atlassian.net/wiki/spaces/PCW/pages/124554323/21-pfs-
22-payment-Payment Enginehttps://algento.atlassian.net/wiki/spaces/PCW/pages/124554288/22-payment-
Payment Corehttps://algento.atlassian.net/wiki/spaces/PCW/pages/1439596574/Payment+Core

7.3 UFS Related

DocumentLink
ufs (Unified File Service)https://algento.atlassian.net/wiki/spaces/PMDPayment/pages/124556361/ufs
ufs-Unified File Servicehttps://algento.atlassian.net/wiki/spaces/PCW/pages/124556038/ufs-Unified+File+Service
ufs-2-Proxy Mode - Integration Guidehttps://algento.atlassian.net/wiki/spaces/PCW/pages/124556040/ufs-2-Proxy+Mode+-+Integration+Guide
ufs-Standalone bucket-http APIhttps://algento.atlassian.net/wiki/spaces/PCW/pages/124556560/ufs-Standalone+bucket-http+API
ufs-Share bucket-http APIhttps://algento.atlassian.net/wiki/spaces/PCW/pages/124556480/ufs-Share+bucket-http+API

7.4 UES Related

DocumentLink
ues (Unified encryption and decryption service)https://algento.atlassian.net/wiki/spaces/PCW/pages/124555323/ues+Unified+encryption+and+decryption+service
Credit UES API Documentation (HTTP API reference)https://algento.atlassian.net/wiki/spaces/QT/pages/1671233596/Credit+UES+API+Documentation

7.5 Redis Related

DocumentLink
redis-starterhttps://algento.atlassian.net/wiki/spaces/PCW/pages/124555370/redis-starter

Document compiled from Pay Core Workspace Confluence documents
Generated: 2026-05-24

无标签
评论区
暂无评论
avatar