Mobile-ID · Tin cậy có bằng chứng
Thuật ngữ hồ sơLiên hệ
Trusted Records · Tích hợp & Nhà phát triển

Yêu cầu thanh toán

Thiết kế yêu cầu thanh toán từ nghiệm thu; không sinh QR thanh toán thật.

Request schema từ OpenAPI

TrườngKiểuBắt buộcRàng buộcĐịnh nghĩa kỹ thuật
acceptanceRefstringCó{"minLength": 1, "maxLength": 128}Proposed acceptanceRef field. Synthetic identifiers must not contain personal data.
billingVersionintegerCó{"minimum": 1}Proposed billingVersion field. Synthetic identifiers must not contain personal data.
amountMinorintegerCó{"minimum": 1}Amount in minor units; synthetic VND uses whole dong and implies no approved price.
currencystringCó{"enum": ["VND"], "minLength": 1}Proposed currency field. Synthetic identifiers must not contain personal data.
channelstringCó{"enum": ["NAPAS_QR_PROPOSED"], "minLength": 1}Proposed channel field. Synthetic identifiers must not contain personal data.

Ranh giới contract

Thiết kế yêu cầu thanh toán từ nghiệm thu; không sinh QR thanh toán thật.

Ngoại lệ và đối soát

Timeout cần query trạng thái; không tạo giao dịch/lệnh mới khi kết quả cũ chưa rõ. Lưu correlation, phiên bản và bằng chứng; không gửi hồ sơ hoặc credential trong nhật ký.

Ví dụ HTTP — contract đề xuất

Request

POST https://records.example.invalid/v1/payment-requests HTTP/1.1
Authorization: Bearer <example-token>
X-Tenant-Id: synthetic-tenant-001
X-Project-Id: synthetic-project-001
X-Correlation-Id: synthetic-correlation-001
Idempotency-Key: synthetic-key-001
Content-Type: application/json

{
  "acceptanceRef": "synthetic-acceptance-001",
  "billingVersion": 1,
  "amountMinor": 125000,
  "currency": "VND",
  "channel": "NAPAS_QR_PROPOSED"
}

Response · 202

{
  "paymentRequestId": "synthetic-payment-001",
  "state": "PENDING",
  "payableQr": null
}

Trường bắt buộc và kiểm soát chung

MụcQuy tắc đề xuất
scopebilling:write
requiredacceptanceRef, billingVersion, amountMinor, currency, channel
tenant / projectToken và context phải khớp; không chỉ tin header.
idempotencyPOST/PATCH: cùng key + body trả kết quả cũ; body khác trả 409; window cần chốt.
errorcode, message, requestId, correlationId, retryable, details; không chứa dữ liệu nhạy cảm.

Bắt đầu bằng một phạm vi kiểm tra được.

Chốt loại hồ sơ, tiêu chí chất lượng, quyền và bộ bằng chứng trước khi mở rộng.

Đăng ký khảo sát

Tìm trong Trusted Records

Ảnh nguồn phóng to

Ảnh nguồn minh họa; các giá trị trong ảnh không phải cam kết dịch vụ.