Files
hdk-pay/openapi.json

5400 lines
898 KiB
JSON
Raw Normal View History

openapi: 3.0.1
info:
title:
description: ''
version: 1.0.0
tags:
- name: V1
- name: V1/ SKU
- name: V1/Stripe
- name: V1/WeChat
- name: V2
- name: V2/Account
- name: V2/Product
- name: V2/Transaction
- name: V2/Transaction/Admin
- name: V2/Payment
- name: V2/Invoice
- name:
paths:
/rpc/v1/goods/{goodsId}/search:
get:
summary: SKU
deprecated: false
description: query attr1=attrValue1&attr2=attrValue2
tags:
- V1/ SKU
parameters:
- name: goodsId
in: path
description: ''
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Goods'
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V1/ SKU
x-apifox-status: released
x-apifox-maintainer:
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-97100505-run
/rpc/v1/stripe/configurations:
get:
summary: Stripe
deprecated: false
description: ''
tags:
- V1/Stripe
parameters:
- name: Accept-Language
in: header
description: ''
required: false
example: en
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/StripeConfigration'
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V1/Stripe
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-256261017-run
/rpc/v1/stripe/order:
post:
summary: Stripe
deprecated: false
description: ''
tags:
- V1/Stripe
parameters: []
requestBody:
content:
application/json:
schema:
type: object
properties:
service:
type: integer
title: ID
x-apifox-mock: '5'
amount:
type: integer
title:
description:
currency:
type: string
title:
x-apifox-mock: USD
uid:
type: string
title: UID
description: LuxAccount
nullable: true
goodsDetail:
type: object
properties:
id:
type: string
title: GoodsId
goodsName:
type: string
title:
x-apifox-orders:
- id
- goodsName
required:
- id
- goodsName
x-apifox-ignore-properties: []
number:
type: integer
title:
remark:
type: string
x-apifox-orders:
- service
- amount
- currency
- uid
- goodsDetail
- number
- remark
required:
- service
- amount
- uid
- goodsDetail
- number
- currency
x-apifox-ignore-properties: []
examples: {}
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V1/Stripe
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-256261041-run
/rpc/v1/stripe/orders/{orderNo}/refund:
post:
summary: 退
deprecated: false
description: ''
tags:
- V1/Stripe
-
parameters:
- name: orderNo
in: path
description:
required: true
example: 202504081107212151DTB
schema:
type: string
- name: X-SP-ID
in: header
description:
required: false
example: LuxCloud Dental
schema:
type: string
- name: X-REQUEST-TOKEN
in: header
description: TOKEN退
required: false
example: '{{$string.uuid}}'
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
amount:
$ref: '#/components/schemas/Money'
reason:
type: string
title: 退
nullable: true
x-apifox-orders:
- amount
- reason
required:
- amount
x-apifox-ignore-properties: []
example:
amount:
value: 100
currency: USD
reason: Titan Generate Failed.
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
orderNo:
type: string
title:
refunded:
title: 退
$ref: '#/components/schemas/Money'
reason:
type: string
title: 退
remain:
$ref: '#/components/schemas/Money'
title:
x-apifox-orders:
- orderNo
- refunded
- reason
- remain
required:
- orderNo
- refunded
- reason
x-apifox-ignore-properties: []
example:
orderNo: 202504081107212151DTB
refunded:
value: 100
currency: USD
reason: Titan Generate Failed.
remain:
value: 4800
currency: USD
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V1/Stripe
x-apifox-status: released
x-apifox-maintainer:
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-281345818-run
/rpc/v1/stripe/callback:
post:
summary:
deprecated: false
description: ''
tags:
- V1/Stripe
parameters: []
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: string
object:
type: string
api_version:
type: string
created:
type: integer
data:
type: object
properties:
object:
type: object
properties:
id:
type: string
object:
type: string
adaptive_pricing:
type: object
properties:
enabled:
type: boolean
required:
- enabled
x-apifox-ignore-properties: []
x-apifox-orders:
- enabled
after_expiration:
type: 'null'
allow_promotion_codes:
type: 'null'
amount_subtotal:
type: integer
amount_total:
type: integer
automatic_tax:
type: object
properties:
enabled:
type: boolean
liability:
type: 'null'
provider:
type: 'null'
status:
type: 'null'
required:
- enabled
- liability
- provider
- status
x-apifox-ignore-properties: []
x-apifox-orders:
- enabled
- liability
- provider
- status
billing_address_collection:
type: 'null'
cancel_url:
type: string
client_reference_id:
type: 'null'
client_secret:
type: 'null'
collected_information:
type: 'null'
consent:
type: 'null'
consent_collection:
type: 'null'
created:
type: integer
currency:
type: string
currency_conversion:
type: 'null'
custom_fields:
type: array
items:
type: string
custom_text:
type: object
properties:
after_submit:
type: 'null'
shipping_address:
type: 'null'
submit:
type: 'null'
terms_of_service_acceptance:
type: 'null'
required:
- after_submit
- shipping_address
- submit
- terms_of_service_acceptance
x-apifox-ignore-properties: []
x-apifox-orders:
- after_submit
- shipping_address
- submit
- terms_of_service_acceptance
customer:
type: 'null'
customer_creation:
type: string
customer_details:
type: object
properties:
address:
type: object
properties:
city:
type: 'null'
country:
type: string
line1:
type: 'null'
line2:
type: 'null'
postal_code:
type: 'null'
state:
type: 'null'
required:
- city
- country
- line1
- line2
- postal_code
- state
x-apifox-ignore-properties: []
x-apifox-orders:
- city
- country
- line1
- line2
- postal_code
- state
email:
type: string
name:
type: string
phone:
type: 'null'
tax_exempt:
type: string
tax_ids:
type: array
items:
type: string
required:
- address
- email
- name
- phone
- tax_exempt
- tax_ids
x-apifox-ignore-properties: []
x-apifox-orders:
- address
- email
- name
- phone
- tax_exempt
- tax_ids
customer_email:
type: 'null'
discounts:
type: array
items:
type: string
expires_at:
type: integer
invoice:
type: 'null'
invoice_creation:
type: object
properties:
enabled:
type: boolean
invoice_data:
type: object
properties:
account_tax_ids:
type: 'null'
custom_fields:
type: 'null'
description:
type: 'null'
footer:
type: 'null'
issuer:
type: 'null'
metadata:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
rendering_options:
type: 'null'
required:
- account_tax_ids
- custom_fields
- description
- footer
- issuer
- metadata
- rendering_options
x-apifox-ignore-properties: []
x-apifox-orders:
- account_tax_ids
- custom_fields
- description
- footer
- issuer
- metadata
- rendering_options
required:
- enabled
- invoice_data
x-apifox-ignore-properties: []
x-apifox-orders:
- enabled
- invoice_data
livemode:
type: boolean
locale:
type: string
metadata:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
mode:
type: string
origin_context:
type: 'null'
payment_intent:
type: string
payment_link:
type: 'null'
payment_method_collection:
type: string
payment_method_configuration_details:
type: 'null'
payment_method_options:
type: object
properties:
card:
type: object
properties:
request_three_d_secure:
type: string
required:
- request_three_d_secure
x-apifox-ignore-properties: []
x-apifox-orders:
- request_three_d_secure
required:
- card
x-apifox-ignore-properties: []
x-apifox-orders:
- card
payment_method_types:
type: array
items:
type: string
payment_status:
type: string
permissions:
type: 'null'
phone_number_collection:
type: object
properties:
enabled:
type: boolean
required:
- enabled
x-apifox-ignore-properties: []
x-apifox-orders:
- enabled
recovered_from:
type: 'null'
saved_payment_method_options:
type: 'null'
setup_intent:
type: 'null'
shipping_address_collection:
type: 'null'
shipping_cost:
type: 'null'
shipping_details:
type: 'null'
shipping_options:
type: array
items:
type: string
status:
type: string
submit_type:
type: 'null'
subscription:
type: 'null'
success_url:
type: string
total_details:
type: object
properties:
amount_discount:
type: integer
amount_shipping:
type: integer
amount_tax:
type: integer
required:
- amount_discount
- amount_shipping
- amount_tax
x-apifox-ignore-properties: []
x-apifox-orders:
- amount_discount
- amount_shipping
- amount_tax
ui_mode:
type: string
url:
type: 'null'
wallet_options:
type: 'null'
required:
- id
- object
- adaptive_pricing
- after_expiration
- allow_promotion_codes
- amount_subtotal
- amount_total
- automatic_tax
- billing_address_collection
- cancel_url
- client_reference_id
- client_secret
- collected_information
- consent
- consent_collection
- created
- currency
- currency_conversion
- custom_fields
- custom_text
- customer
- customer_creation
- customer_details
- customer_email
- discounts
- expires_at
- invoice
- invoice_creation
- livemode
- locale
- metadata
- mode
- origin_context
- payment_intent
- payment_link
- payment_method_collection
- payment_method_configuration_details
- payment_method_options
- payment_method_types
- payment_status
- permissions
- phone_number_collection
- recovered_from
- saved_payment_method_options
- setup_intent
- shipping_address_collection
- shipping_cost
- shipping_details
- shipping_options
- status
- submit_type
- subscription
- success_url
- total_details
- ui_mode
- url
- wallet_options
x-apifox-ignore-properties: []
x-apifox-orders:
- id
- object
- adaptive_pricing
- after_expiration
- allow_promotion_codes
- amount_subtotal
- amount_total
- automatic_tax
- billing_address_collection
- cancel_url
- client_reference_id
- client_secret
- collected_information
- consent
- consent_collection
- created
- currency
- currency_conversion
- custom_fields
- custom_text
- customer
- customer_creation
- customer_details
- customer_email
- discounts
- expires_at
- invoice
- invoice_creation
- livemode
- locale
- metadata
- mode
- origin_context
- payment_intent
- payment_link
- payment_method_collection
- payment_method_configuration_details
- payment_method_options
- payment_method_types
- payment_status
- permissions
- phone_number_collection
- recovered_from
- saved_payment_method_options
- setup_intent
- shipping_address_collection
- shipping_cost
- shipping_details
- shipping_options
- status
- submit_type
- subscription
- success_url
- total_details
- ui_mode
- url
- wallet_options
required:
- object
x-apifox-ignore-properties: []
x-apifox-orders:
- object
livemode:
type: boolean
pending_webhooks:
type: integer
request:
type: object
properties:
id:
type: 'null'
idempotency_key:
type: 'null'
required:
- id
- idempotency_key
x-apifox-ignore-properties: []
x-apifox-orders:
- id
- idempotency_key
type:
type: string
required:
- id
- object
- api_version
- created
- data
- livemode
- pending_webhooks
- request
- type
x-apifox-ignore-properties: []
x-apifox-orders:
- id
- object
- api_version
- created
- data
- livemode
- pending_webhooks
- request
- type
example:
id: evt_1S5dJuICuF8hPnJxkclHh16i
object: event
api_version: '2023-10-16'
created: 1757469578
data:
object:
id: >-
cs_live_a1pVFGxJNuke4XKLTqdnbLbwFIVnTfFRSJLKTSS3Ozw4bCVAwJIQVY6IxU
object: checkout.session
adaptive_pricing:
enabled: true
after_expiration: null
allow_promotion_codes: null
amount_subtotal: 1500
amount_total: 1500
automatic_tax:
enabled: false
liability: null
provider: null
status: null
billing_address_collection: null
cancel_url: https://studio.luxcreo.com/#/payCancel
client_reference_id: null
client_secret: null
collected_information: null
consent: null
consent_collection: null
created: 1757469554
currency: usd
currency_conversion: null
custom_fields: []
custom_text:
after_submit: null
shipping_address: null
submit: null
terms_of_service_acceptance: null
customer: null
customer_creation: if_required
customer_details:
address:
city: null
country: CN
line1: null
line2: null
postal_code: null
state: null
email: qian.shi@luxcreo.com
name: hanc
phone: null
tax_exempt: none
tax_ids: []
customer_email: null
discounts: []
expires_at: 1757555954
invoice: null
invoice_creation:
enabled: false
invoice_data:
account_tax_ids: null
custom_fields: null
description: null
footer: null
issuer: null
metadata: {}
rendering_options: null
livemode: true
locale: zh
metadata: {}
mode: payment
origin_context: null
payment_intent: pi_3S5dJsICuF8hPnJx0JbXwSmZ
payment_link: null
payment_method_collection: if_required
payment_method_configuration_details: null
payment_method_options:
card:
request_three_d_secure: automatic
payment_method_types:
- card
payment_status: paid
permissions: null
phone_number_collection:
enabled: false
recovered_from: null
saved_payment_method_options: null
setup_intent: null
shipping_address_collection: null
shipping_cost: null
shipping_details: null
shipping_options: []
status: complete
submit_type: null
subscription: null
success_url: https://studio.luxcreo.com/#/paySuccess
total_details:
amount_discount: 0
amount_shipping: 0
amount_tax: 0
ui_mode: hosted
url: null
wallet_options: null
livemode: true
pending_webhooks: 1
request:
id: null
idempotency_key: null
type: checkout.session.completed
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V1/Stripe
x-apifox-status: developing
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-348070648-run
/rpc/v1/wechat/callback:
post:
summary:
deprecated: false
description: ''
tags:
- V1/WeChat
parameters:
- name: wechatpay-nonce
in: header
description: ''
required: false
example: Fb7gEPb5eHBljEEVy8AVTjcCxiGDMJ5U
schema:
type: string
- name: wechatpay-serial
in: header
description: ''
required: false
example: 48FC94D1557011106191A4EB35FE08CEFD4AA849
schema:
type: string
- name: wechatpay-signature
in: header
description: ''
required: false
example: >-
gonMgPecNA92XcmIZx/KKwc5Y47iV1Z8N9Bn9Vt9RjEwc5r4N7jd+uKMazYX2UiKXJZK4nQKF9pA/57GY64XnCDm3LrFJ0uKe+EItszDXUTBtbo0dxECT8FnxBRy3fjhlWlAWFux+vwuW7dtjhyg7rXygdVV0/E7O5MfKOloSk8Bt4eAIDxHXKh5WywrbtVwfd7cToN90w96Dshv3ZQPN4TyieNbAYrFAb/sUKk5MDi147CqmprOhUI83skSzpNheVhk4sXzrTSmtzIRcdlpFvkynRczuDz3a6rAREOY382z6kV/VY83cAdiPD+9YtwFzdu9leeg1Lli6fLRPS49QA==
schema:
type: string
- name: wechatpay-signature-type
in: header
description: ''
required: false
example: WECHATPAY2-SHA256-RSA2048
schema:
type: string
- name: wechatpay-timestamp
in: header
description: ''
required: false
example: '1685082548'
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: string
create_time:
type: string
resource_type:
type: string
event_type:
type: string
summary:
type: string
resource:
type: object
properties:
original_type:
type: string
algorithm:
type: string
ciphertext:
type: string
associated_data:
type: string
nonce:
type: string
required:
- original_type
- algorithm
- ciphertext
- associated_data
- nonce
x-apifox-orders:
- original_type
- algorithm
- ciphertext
- associated_data
- nonce
x-apifox-ignore-properties: []
required:
- id
- create_time
- resource_type
- event_type
- summary
- resource
x-apifox-orders:
- id
- create_time
- resource_type
- event_type
- summary
- resource
x-apifox-ignore-properties: []
example:
id: f56f2f3d-84ab-50f3-9273-388701e7b82a
create_time: '2023-05-26T14:29:08+08:00'
resource_type: encrypt-resource
event_type: TRANSACTION.SUCCESS
summary:
resource:
original_type: transaction
algorithm: AEAD_AES_256_GCM
ciphertext: >-
mr5XFd/WFJq/WOoeqmFIXhOoMefRBy6XqxogAlIpHTTAAA69nFpZB873suByjxIyNvial2uSLzNtWwIhf+pYMkMYccs+GFb6RXhzxjv+5YCcrDCgdE4s5FQ4ZnbWrUDLI8LKHxrCEMYI0XPjPyoZ1O1fa4DtX7UNca4+AGTSqa0bbEePn+y4fFN+bnq/NKwEvFlmRGO+2ccc9OG+jqMy2DB9lfzr3LU8W0FNmV8y6st7lBdWhoGHi3nvhr4i3wKf9UqpA0lVC4YrtyGwZ2aW+ZbkiSxGh3yzwz/Mle/hftyI0c+S++B4T2JgtqKyyM8DMjymhILxnDLAYZqN3qdEN1zJ1svmRQU7BCvm3ZuMyRq4RXrEIxERGTGqCBX80uqsTVa9UPAHkQrhs3H6HTmF5nfAlkK1GOxfQtjIroRhGszuhsch0UjRWcIvk37xrlsCIlvehTqzWanj2vC7a+lOqyvz3B/CiSd0lUUXSdyAa8WXv9mAEthg1+nj2qlyqTrDb+iju5Q9TfyhnNlW5sr1wviNgVCadeRBhhjOO92avCmJrVRtcmvwkQwt7g5nFmT00iZlDiQ=
associated_data: transaction
nonce: 7cDJGasr52qj
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V1/WeChat
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-84423202-run
/rpc/v2/account/{uid}/balance:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Account
parameters:
- name: uid
in: path
description: ''
required: true
example: cn3321
schema:
type: string
- name: type
in: query
description: lux-point ema
required: false
example: lux-point,ema,aligner
schema:
type: string
enum:
- lux-point
- ema
- aligner-4d
- nightguard-ai
- aligner
- retainer
x-apifox-enum:
- value: lux-point
name: ''
description: ''
- value: ema
name: ''
description: ''
- value: aligner-4d
name: ''
description: dental
- value: nightguard-ai
name: ''
description: dental
- value: aligner
name: ''
description: design
- value: retainer
name: ''
description: design
title:
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxDesign
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
uid:
type: string
point_balance:
type: array
items:
type: object
properties:
name:
type: string
cost:
type: number
title:
amount:
type: number
title:
required:
- name
- cost
- amount
x-apifox-orders:
- name
- cost
- amount
x-apifox-ignore-properties: []
required:
- uid
- point_balance
x-apifox-orders:
- uid
- point_balance
x-apifox-ignore-properties: []
example:
uid: cn3321
point_balance:
- name: lux-point
cost: 1.32
amount: 19.68
- name: ema
cost: 0
amount: 0
- name: aligner
cost: 0
amount: 0
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Account
x-apifox-status: released
x-apifox-maintainer:
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-331314713-run
post:
summary:
deprecated: false
description: ''
tags:
- V2/Account
parameters:
- name: uid
in: path
description: ''
required: true
example: cn123
schema:
type: string
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxDesign
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/InitialAccountPoint'
example:
- type: aligner
basic: 0
bonus: 40
expired_at: '2025-09-18 06:14:11'
version: standard
- type: ema
basic: 0
bonus: 1
expired_at: '2025-09-18 11:24:39'
version: trial
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
headers: {}
x-apifox-name:
x-apifox-ordering: 0
'201':
description: ''
content:
application/json:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
x-apifox-name:
x-apifox-ordering: 1
security: []
x-apifox-folder: V2/Account
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-351848634-run
/rpc/v2/account/{uid}/balance/{type}:
get:
summary:
deprecated: false
description: |-
EMA version
* `null`: Plan
* `Trial`: 2 Plan
* `Silver` Renew plan upgrade
* `Gold` Renew upgrade
* `Platinum` Renew Upgrade Plan
tags:
- V2/Account
parameters:
- name: uid
in: path
description: ''
required: true
example: cn3321
schema:
type: string
- name: type
in: path
description: ''
required: true
example: lux-point
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
name:
type: string
total:
type: number
cost:
type: number
amount:
type: number
version:
type: string
nullable: true
expired_at:
type: string
nullable: true
required:
- name
- total
- cost
- amount
- version
- expired_at
x-apifox-orders:
- name
- total
- cost
- amount
- version
- expired_at
x-apifox-ignore-properties: []
example:
name: lux-point
total: 200
cost: 0.57
amount: 199
version: null
expired_at: null
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Account
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-331675333-run
/rpc/v2/account/{uid}/balance/{type}/logs:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Account
parameters:
- name: uid
in: path
description: ''
required: true
example: cn3321
schema:
type: string
- name: type
in: path
description: ''
required: true
example: all
schema:
type: string
enum:
- all
- aligner
- retainer
- lux-point
- aligner-4d
- nightguard-ai
- ema
x-apifox-enum:
- value: all
name: ''
description: ''
- value: aligner
name: ''
description: ''
- value: retainer
name: ''
description: ''
- value: lux-point
name: ''
description: ''
- value: aligner-4d
name: ''
description: ''
- value: nightguard-ai
name: ''
description: ''
- value: ema
name: ''
description: ''
default: all
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
uid:
type: string
case_id:
type: string
description:
type: string
date:
type: string
credits:
type: number
operator:
type: string
source:
type: string
invoiceable:
type: boolean
invoice_record:
$ref: '#/components/schemas/InvoiceRecord'
nullable: true
required:
- id
- uid
- case_id
- description
- date
- credits
- operator
- source
- invoice_record
- invoiceable
x-apifox-orders:
- id
- uid
- case_id
- description
- date
- credits
- operator
- source
- invoiceable
- invoice_record
x-apifox-ignore-properties: []
example:
- id: 38
uid: 61a74db54f387
caseId: 68ae6f769b70d
description: Design Service - LuxPoint
date: '2025-08-26 19:32:40'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 36
uid: 61a74db54f387
caseId: 68ae6f769b7e9
description: Design Service - LuxPoint
date: '2025-08-26 02:18:49'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 35
uid: 61a74db54f387
caseId: 68ae6f769b85a
description: Design Service - LuxPoint
date: '2025-08-26 02:08:38'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 34
uid: 61a74db54f387
caseId: 68ae6f769b8c0
description: Design Service - LuxPoint
date: '2025-08-26 02:05:26'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 32
uid: 61a74db54f387
caseId: 68ae6f769b923
description: Design Service - LuxPoint
date: '2025-08-26 01:05:18'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 31
uid: 61a74db54f387
caseId: 68ae6f769b984
description: Design Service - LuxPoint
date: '2025-08-26 00:59:59'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 30
uid: 61a74db54f387
caseId: 68ae6f769b9e4
description: Design Service - LuxPoint
date: '2025-08-26 00:53:59'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 29
uid: 61a74db54f387
caseId: 68ae6f769ba43
description: Design Service - LuxPoint
date: '2025-08-26 00:47:42'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 28
uid: 61a74db54f387
caseId: 68ae6f769baa3
description: Design Service - LuxPoint
date: '2025-08-26 00:19:54'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 27
uid: 61a74db54f387
caseId: 68ae6f769bb03
description: Design Service - LuxPoint
date: '2025-08-25 23:45:44'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 25
uid: 61a74db54f387
caseId: 68ae6f769bba6
description: Design Service - LuxPoint
date: '2025-08-25 23:17:36'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 24
uid: 61a74db54f387
caseId: 68ae6f769bc06
description: Design Service - LuxPoint
date: '2025-08-25 23:16:19'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 23
uid: 61a74db54f387
caseId: 68ae6f769bc67
description: Design Service - LuxPoint
date: '2025-08-25 22:49:28'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 22
uid: 61a74db54f387
caseId: 68ae6f769bcc6
description: Design Service - LuxPoint
date: '2025-08-25 22:40:32'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 21
uid: 61a74db54f387
caseId: 68ae6f769bd24
description: Design Service - LuxPoint
date: '2025-08-25 22:35:28'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 20
uid: 61a74db54f387
caseId: 68ae6f769bd84
description: Design Service - LuxPoint
date: '2025-08-25 22:30:29'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 19
uid: 61a74db54f387
caseId: 68ae6f769bde3
description: Design Service - LuxPoint
date: '2025-08-25 22:26:05'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 18
uid: 61a74db54f387
caseId: 68ae6f769be42
description: Design Service - LuxPoint
date: '2025-08-25 22:25:04'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 17
uid: 61a74db54f387
caseId: 68ae6f769bea9
description: Design Service - LuxPoint
date: '2025-08-25 21:34:36'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 16
uid: 61a74db54f387
caseId: 68ae6f769bf11
description: Design Service - LuxPoint
date: '2025-08-25 21:29:34'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 15
uid: 61a74db54f387
caseId: 68ae6f769bf70
description: Design Service - LuxPoint
date: '2025-08-25 21:25:02'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 14
uid: 61a74db54f387
caseId: 68ae6f769bff5
description: Design Service - LuxPoint
date: '2025-08-25 21:23:33'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 13
uid: 61a74db54f387
caseId: 68ae6f769c054
description: Design Service - LuxPoint
date: '2025-08-25 21:19:50'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 12
uid: 61a74db54f387
caseId: 68ae6f769c0b3
description: Design Service - LuxPoint
date: '2025-08-25 20:30:19'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 11
uid: 61a74db54f387
caseId: 68ae6f769c112
description: Design Service - LuxPoint
date: '2025-08-25 20:24:50'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 10
uid: 61a74db54f387
caseId: 68ae6f769c170
description: Design Service - LuxPoint
date: '2025-08-25 20:23:14'
credits: -10
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 9
uid: 61a74db54f387
caseId: 68ae6f769c1cf
description: Design Service - LuxPoint
date: '2025-08-25 20:20:51'
credits: -10
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 8
uid: 61a74db54f387
caseId: 68ae6f769c22d
description: Design Service - LuxPoint
date: '2025-08-25 20:08:03'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 7
uid: 61a74db54f387
caseId: 68ae6f769c28b
description: Design Service - LuxPoint
date: '2025-08-25 20:06:37'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 6
uid: 61a74db54f387
caseId: 68ae6f769c2e9
description: Design Service - LuxPoint
date: '2025-08-25 20:01:39'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 5
uid: 61a74db54f387
caseId: 68ae6f769c347
description: Design Service - LuxPoint
date: '2025-08-25 19:53:27'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 4
uid: 61a74db54f387
caseId: 68ae6f769c402
description: Design Service - LuxPoint
date: '2025-08-25 19:52:16'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 3
uid: 61a74db54f387
caseId: 68ae6f769c462
description: Design Service - LuxPoint
date: '2025-08-25 19:47:57'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 2
uid: 61a74db54f387
caseId: 68ae6f769c4c1
description: Design Service - LuxPoint
date: '2025-08-25 19:09:57'
credits: -5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
- id: 1
uid: 61a74db54f387
caseId: 68ae6f769c520
description: Design Service - LuxPoint
date: '2025-08-22 01:05:26'
credits: 5
operator: self
source: LuxCloud Dental
invoiceReqId: null
invoiceable: true
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Account
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-341064628-run
/rpc/v2/account/logs/points/{caseId}:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Account
parameters:
- name: caseId
in: path
description: ''
required: true
example: 68b6ac37a6440
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: integer
uid:
type: string
case_id:
type: string
description:
type: string
date:
type: string
credits:
type: integer
operator:
type: string
source:
type: string
invoiceable:
type: boolean
invoice_record:
$ref: '#/components/schemas/InvoiceRecord'
nullable: true
required:
- id
- uid
- case_id
- description
- date
- credits
- operator
- source
- invoiceable
- invoice_record
x-apifox-orders:
- id
- uid
- case_id
- description
- date
- credits
- operator
- source
- invoiceable
- invoice_record
x-apifox-ignore-properties: []
example:
id: 113
uid: cn3321
case_id: 68b6ac37a6440
description: Design Service - EMA
date: '2025-09-02 01:35:03'
credits: -1
operator: self
source: LuxCloud Dental
invoiceable: true
invoice_record:
invoice_no: '157528'
receiver: dongyun.li@luxcreo.ai
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Account
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-345460971-run
/rpc/v2/account/{uid}/subscription:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Account
parameters:
- name: uid
in: path
description: ''
required: true
example: cn3321
schema:
type: string
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxDesign
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
uid:
type: string
is_subscriber:
type: boolean
expired_at:
type: string
required:
- uid
- is_subscriber
- expired_at
x-apifox-ignore-properties: []
x-apifox-orders:
- uid
- is_subscriber
- expired_at
examples:
'1':
summary:
value:
uid: cn3321
is_subscriber: true
expired_at: '2026-09-17 23:56:09'
'2':
summary:
value:
uid: cn3321
is_subscriber: false
expired_at: '2024-09-17 23:56:09'
headers: {}
x-apifox-name:
x-apifox-ordering: 0
x-apifox-additional-responses:
- statusCode: 200
description: ''
content:
application/json:
schema:
type: object
properties:
uid:
type: string
is_subscriber:
type: boolean
expired_at:
type: 'null'
required:
- uid
- is_subscriber
- expired_at
x-apifox-ignore-properties: []
x-apifox-orders:
- uid
- is_subscriber
- expired_at
example:
uid: cn3321
is_subscriber: false
expired_at: null
headers: {}
x-apifox-name:
x-apifox-ordering: 1
security: []
x-apifox-folder: V2/Account
x-apifox-status: released
x-apifox-maintainer:
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-352291968-run
put:
summary:
deprecated: false
description: ''
tags:
- V2/Account
parameters:
- name: uid
in: path
description: ''
required: true
example: 68cb79833e7d2
schema:
type: string
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxDesign
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
expiredAt:
type: string
x-apifox-mock: '{{$date.anytime}}'
x-apifox-orders:
- expiredAt
required:
- expiredAt
x-apifox-ignore-properties: []
example:
expiredAt: '2026-09-18 16:45:34'
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
uid:
type: string
is_subscriber:
type: boolean
expired_at:
type: string
required:
- uid
- is_subscriber
- expired_at
x-apifox-ignore-properties: []
x-apifox-orders:
- uid
- is_subscriber
- expired_at
examples:
'1':
summary:
value:
uid: cn3321
is_subscriber: true
expired_at: '2026-09-17 23:56:09'
'2':
summary:
value:
uid: cn3321
is_subscriber: false
expired_at: '2024-09-17 23:56:09'
headers: {}
x-apifox-name:
x-apifox-ordering: 0
x-apifox-additional-responses:
- statusCode: 200
description: ''
content:
application/json:
schema:
type: object
properties:
uid:
type: string
is_subscriber:
type: boolean
expired_at:
type: 'null'
required:
- uid
- is_subscriber
- expired_at
x-apifox-ignore-properties: []
x-apifox-orders:
- uid
- is_subscriber
- expired_at
example:
uid: cn3321
is_subscriber: false
expired_at: null
headers: {}
x-apifox-name:
x-apifox-ordering: 1
security: []
x-apifox-folder: V2/Account
x-apifox-status: released
x-apifox-maintainer:
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-363710573-run
/rpc/v2/products/ftai:
get:
summary: FTAI
deprecated: false
description: ''
tags:
- V2/Product
parameters:
- name: type
in: query
description: ''
required: false
example: aligner
schema:
type: string
enum:
- Aligner
- Retainer
x-apifox-enum:
- value: Aligner
name: ''
description: ''
- value: Retainer
name: ''
description: ''
- name: uid
in: query
description: ''
required: false
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
x-apifox-refs:
01K1WWC2J10A9ND2XHZ9C3HJSP:
$ref: '#/components/schemas/RechargeProduct'
x-apifox-overrides: {}
x-apifox-orders:
- 01K1WWC2J10A9ND2XHZ9C3HJSP
properties:
plan:
type: array
items:
$ref: '#/components/schemas/ProductItem'
title:
package:
type: array
items:
$ref: '#/components/schemas/ProductItem'
title:
one_time:
$ref: '#/components/schemas/ProductItem'
title:
required:
- one_time
x-apifox-ignore-properties:
- plan
- package
- one_time
example:
one_time:
id: 26
name: One-time Design - Aligner
currency: USD
price: 0.28
total_points: 1
bonus_rate_pct: 0
point:
total: 1
number: 1
bonus: 0
plan:
- id: 20
name: FTAI Standard
currency: USD
price: 759
- id: 21
name: Upgrade from Standard to Exclusive
currency: USD
price: 500
- id: 22
name: Upgrade from Standard to Enterprise
currency: USD
price: 1000
package:
- id: 27
name: 2000 Aligner Package
currency: USD
price: 336
total_points: 2000
bonus_rate_pct: 40
point:
total: 2000
number: 1200
bonus: 800
- id: 28
name: 4000 Aligner Package
currency: USD
price: 504
total_points: 4000
bonus_rate_pct: 55
point:
total: 4000
number: 1800
bonus: 2200
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Product
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-343036989-run
/rpc/v2/products/ema:
get:
summary: EMA
deprecated: false
description: Package
tags:
- V2/Product
parameters:
- name: uid
in: query
description: ''
required: false
example: cn3321
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
plan:
type: array
items:
$ref: '#/components/schemas/ProductItem'
package:
type: array
items:
$ref: '#/components/schemas/ProductItem'
description:
one_time:
$ref: '#/components/schemas/ProductItem'
required:
- one_time
- plan
x-apifox-orders:
- plan
- package
- one_time
x-apifox-ignore-properties: []
example:
one_time:
id: 1
name: One-time Design - EMA
currency: USD
price: 1
total_points: 1
bonus_rate_pct: 0
point:
total: 1
number: 1
bonus: 0
renew:
id: 6
name: Renew Addition Year - EMA
currency: USD
price: 399
total_points: 0
bonus_rate_pct: 0
point:
total: 0
number: 0
bonus: 0
plan:
- id: 7
name: Silver
currency: USD
price: 399
total_points: 100
bonus_rate_pct: 0
point:
total: 100
number: 100
bonus: 0
- id: 8
name: Gold
currency: USD
price: 759
total_points: 799
bonus_rate_pct: 5
point:
total: 799
number: 759
bonus: 40
- id: 9
name: Platinum
currency: USD
price: 1699
total_points: 1999
bonus_rate_pct: 15
point:
total: 1999
number: 1699
bonus: 300
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Product
x-apifox-status: released
x-apifox-maintainer:
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-331755497-run
/rpc/v2/products/lux-point:
get:
summary: LuxPoint
deprecated: false
description: Plan
tags:
- V2/Product
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
x-apifox-refs:
01K1WWC2J10A9ND2XHZ9C3HJSP:
$ref: '#/components/schemas/RechargeProduct'
x-apifox-overrides: {}
x-apifox-orders:
- 01K1WWC2J10A9ND2XHZ9C3HJSP
properties:
plan:
type: array
items:
$ref: '#/components/schemas/ProductItem'
title:
package:
type: array
items:
$ref: '#/components/schemas/ProductItem'
title:
one_time:
$ref: '#/components/schemas/ProductItem'
title:
required:
- one_time
x-apifox-ignore-properties:
- plan
- package
- one_time
example:
one_time:
id: 1
name: OneTime
currency: USD
price: 1
total_points: 1
bonus_rate_pct: 0
point:
total: 1
number: 1
bonus: 0
package:
- id: 2
name: Starter Pack
currency: USD
price: 399
total_points: 100
bonus_rate_pct: 0
point:
total: 100
number: 100
bonus: 0
- id: 3
name: Value Pack
currency: USD
price: 759
total_points: 799
bonus_rate_pct: 5
point:
total: 799
number: 759
bonus: 40
- id: 4
name: Premium Pack
currency: USD
price: 1699
total_points: 1999
bonus_rate_pct: 15
point:
total: 1999
number: 1699
bonus: 300
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Product
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-331754527-run
/rpc/v2/products/{target}/exchange-rate/{source}:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Product
parameters:
- name: target
in: path
description: ''
required: true
example: lux-point
schema:
type: string
- name: source
in: path
description: ''
required: true
example: aligner
schema:
type: string
- name: uid
in: query
description:
required: false
example: cn3321
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
source:
type: string
title:
target:
type: string
title:
rate:
type: number
title:
required:
- source
- target
- rate
x-apifox-orders:
- source
- target
- rate
x-apifox-ignore-properties: []
example:
source: aligner
target: lux-point
rate: 0.1
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Product
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-337431533-run
/rpc/v2/products/lux-point/discounts:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Product
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
type: object
properties:
min:
type: number
max:
type: number
description: null
nullable: true
discount:
type: number
description:
required:
- min
- max
- discount
x-apifox-orders:
- min
- max
- discount
description:
x-apifox-ignore-properties: []
example:
- min: 0
max: 758
discount: 0
- min: 759
max: 1698
discount: 0.05
- min: 1699
max: null
discount: 0.15
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Product
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-342586100-run
/rpc/v2/transaction/admin/recharge:
post:
summary:
deprecated: false
description: ''
tags:
- V2/Transaction/Admin
parameters:
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxCloud Dental
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
uid:
type: string
x-apifox-mock: 63c1865962abf
items:
type: object
properties:
product_id:
type: integer
x-apifox-mock: '1'
title: ID
description:
quantity:
type: integer
x-apifox-mock: '1'
title:
x-apifox-orders:
- product_id
- quantity
required:
- product_id
- quantity
x-apifox-ignore-properties: []
x-apifox-orders:
- uid
- items
required:
- uid
- items
x-apifox-ignore-properties: []
examples:
'1':
value:
uid: 63c1865962abf
items:
- product_id: 1
quantity: 2
summary: 1
'2':
value:
items:
- product_id: 2
quantity: 1
uid: 61a74db54f387
summary: 2
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderDto'
example:
order_no: 202508070232337881DTB
action: recharge
pay_type: card
status: created
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Transaction/Admin
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-350346728-run
/rpc/v2/transaction/orders/recharge:
post:
summary:
deprecated: false
description: ''
tags:
- V2/Transaction
parameters:
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxCloud Dental
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
uid:
type: string
x-apifox-mock: 63c1865962abf
items:
type: object
properties:
product_id:
type: integer
x-apifox-mock: '1'
title: ID
description:
quantity:
type: integer
x-apifox-mock: '1'
title:
x-apifox-orders:
- product_id
- quantity
required:
- product_id
- quantity
x-apifox-ignore-properties: []
x-apifox-orders:
- uid
- items
required:
- uid
- items
x-apifox-ignore-properties: []
examples:
'1':
value:
uid: 63c1865962abf
items:
- product_id: 1
quantity: 2
summary: 1
'2':
value:
items:
- product_id: 2
quantity: 1
uid: 61a74db54f387
summary: 2
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderDto'
example:
order_no: 202508070232337881DTB
action: recharge
pay_type: card
status: created
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Transaction
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-332062578-run
/rpc/v2/transaction/orders/recharge/lux-point:
post:
summary: LuxPoint
deprecated: false
description: ''
tags:
- V2/Transaction
parameters:
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxCloud Dental
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
uid:
type: string
x-apifox-mock: 63c1865962abf
amount:
type: number
minimum: 1
title:
x-apifox-mock: '{{$number.float(min=1)}}'
x-apifox-orders:
- uid
- amount
required:
- uid
- amount
x-apifox-ignore-properties: []
examples:
'1':
value:
uid: 63c1865962abf
amount: 1.5
summary: 1
'2':
value:
items:
- product_id: 2
quantity: 1
uid: 61a74db54f387
summary: 2
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderDto'
example:
order_no: 202508070232337881DTB
action: recharge
pay_type: card
status: created
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Transaction
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-340477892-run
/rpc/v2/transaction/orders/consumption:
post:
summary:
deprecated: false
description:
tags:
- V2/Transaction
parameters:
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxCloud Dental
schema:
type: string
- name: X-REQUEST-TOKEN
in: header
description: ''
required: false
example: '{{$string.uuid}}'
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
uid:
type: string
description: LuxAccount UID
title: LuxCreo
type:
$ref: '#/components/schemas/%E6%94%AF%E4%BB%98%E6%96%B9%E5%BC%8F'
title:
method:
oneOf:
- $ref: '#/components/schemas/PointType'
- $ref: '#/components/schemas/Payment%20Method'
items:
$ref: '#/components/schemas/Items'
title:
description:
external:
type: object
properties: {}
x-apifox-orders: []
title:
description:
x-apifox-ignore-properties: []
external_id:
type: string
title:
description: CaseID/LicenseKey
remark:
type: string
title:
description:
x-apifox-orders:
- uid
- type
- method
- items
- external
- external_id
- remark
required:
- type
- items
- uid
- method
x-apifox-ignore-properties: []
examples:
'1':
value:
uid: cn3321
type: point
method: lux-point
items:
- name:
quantity: 1
unit_price: 405.99
- name: 1
quantity: 2
unit_price: 2.55
external: {}
external_id: ID_932113FAE9B
remark: sunt proident amet aliqua do
summary: Stripe-Checkout-OneTime
'2':
value:
external:
order_id: 568
order_type: order
treatment_id: 148
app_id: 4
service_id: 0
coupon_id: 0
to_email: 846692622@qq.com
identity_name: yao
input_case_id: id_o6k1njzstnl
external_id: '1067'
items:
- name: Nightguard
unit_price: 10
quantity: 1
method: lux-point
remark: ''
type: point
uid: 61a74db54f387
summary:
'3':
value:
external:
order_id: 566
order_type: order
treatment_id: 579
app_id: 1
service_id: 2
coupon_id: 0
to_email: 1570280539@qq.com
identity_name: xxxx www
input_case_id: id_j5xmxf8lzg
external_id: '1054'
items:
- name: Aligner
unit_price: 1249
quantity: 1
method: lux-point
remark: ''
type: point
uid: 61dbe752d4caa
summary: 3
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrderDto'
example:
order_no: 202508070232337881DTB
action: consumption
pay_type: hybrid
status: created
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Transaction
x-apifox-status: released
x-apifox-maintainer:
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-332631440-run
/rpc/v2/transaction/orders/paginate:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Transaction
parameters:
- name: uid
in: query
description: ''
required: true
example: cn3321
schema:
type: string
- name: page
in: query
description: 1
required: false
example: 1
schema:
type: integer
- name: size
in: query
description: 20
required: false
example: 20
schema:
type: integer
- name: action
in: query
description:
required: false
schema:
type: string
enum:
- recharge
- consumption
- refund
x-apifox-enum:
- value: recharge
name:
description: ''
- value: consumption
name:
description: ''
- value: refund
name: 退
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/%E8%AE%A2%E5%8D%95'
example: |-
[
{
"order_no": "202507301649479469DTB",
"uid": "cn62e0ae9f1a44c",
"pay_type": "hybrid", // hybrid/point/card
"action": "consumption", // consumption/recharge
"status": "completed", // paid/completed/failed/refunded/refund_failed. created is only when query order detail, not in hooks
"source": "LuxDesign",
"items": [ //商品,含增项等
{
"name": "Design - OneTime",
"unit_price": 2, // Dollar/Yuan, NOT centOr LuxPoint
"quantity": 3
}
// ...
],
"transactions": [ // 充值、消费的交易记录
{
"pay_type": "card",
"type": "stripe.checkout",
"amount": -3, // Dollar/Yuan, NOT cent
"status": "paid" // paid/failed, created不参与回调
},
{
"pay_type": "point",
"type": "lux-point",
"amount": -3.05,
"status": "failed"
}
// ...
],
"refunds": [
{
"pay_type": "card",
"type": "stripe.checkout",
"amount": 3, // Dollar/Yuan, NOT cent
"status": "refunded" // refunded/failed, created不参与回调
},
{
"pay_type": "point",
"type": "lux-point",
"amount": 3.05,
"status": "failed"
}
],
"external": {
// ... 创建订单的数据,原样输出
},
"external_id": "xxxxxx", // 业务系统唯一标识,如 case_id/license_id 等
"created_at": "2025-07-31 16:51:06", // 下单时间
"occurred_at": "2025-08-01 10:33:47", // paid/completed 的时间,回调不会为 null
"last_refunded_at": "2025-07-31 16:58:56" // or null
// ...
}
]
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Transaction
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-333410326-run
/rpc/v2/transaction/orders/{order-no}/payment-status:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Transaction
parameters:
- name: order-no
in: path
description: ''
required: true
example: '123123'
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
orderNo:
type: string
status:
type: string
enum:
- created
- paid
x-apifox-enum:
- value: created
name: ''
description: ''
- value: paid
name: ''
description: ''
default: created
required:
- orderNo
- status
x-apifox-orders:
- orderNo
- status
x-apifox-ignore-properties: []
example:
orderNo: '123123'
status: paid
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Transaction
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-335585740-run
/rpc/v2/transaction/orders/statistic:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Transaction
parameters:
- name: uid
in: query
description: ''
required: true
example: cn3321
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
total:
type: integer
title:
consumption:
type: integer
title:
recharge:
type: integer
title:
refund:
type: integer
title: 退
required:
- total
- consumption
- recharge
- refund
x-apifox-orders:
- total
- consumption
- recharge
- refund
x-apifox-ignore-properties: []
example:
total: 35
consumption: 20
recharge: 10
refund: 5
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Transaction
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-335664136-run
/rpc/v2/transaction/orders/{order-no}/refunds:
post:
summary: 退
deprecated: false
description: ''
tags:
- V2/Transaction
parameters:
- name: order-no
in: path
description: ''
required: true
example: 202511042333371479DTB
schema:
type: string
- name: X-SP-ID
in: header
description: ''
required: true
example: LuxCloud Dental
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
reason:
type: string
x-apifox-mock: ApiFox Test
amount:
type: number
title: 退
description: null 退
nullable: true
x-apifox-orders:
- reason
- amount
required:
- reason
x-apifox-ignore-properties: []
example:
reason: ApiFox Test
responses:
'201':
description: ''
content:
application/json:
schema:
type: object
x-apifox-refs:
01KA7T9F0R3S0K0FCPSZZBKXW9:
$ref: '#/components/schemas/OrderDto'
x-apifox-overrides:
action: &ref_0
type: string
const: refund
required:
- action
x-apifox-orders:
- 01KA7T9F0R3S0K0FCPSZZBKXW9
properties:
order_no:
type: string
action: *ref_0
pay_type:
$ref: '#/components/schemas/%E6%94%AF%E4%BB%98%E6%96%B9%E5%BC%8F'
status:
$ref: '#/components/schemas/OrderStatus'
required:
- order_no
- action
- pay_type
- status
x-apifox-ignore-properties:
- order_no
- action
- pay_type
- status
example:
order_no: 202508070232337881DTB
action: refund
pay_type: card
status: created
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Transaction
x-apifox-status: integrating
x-apifox-maintainer:
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-369880662-run
/rpc/v2/payment/stripe/callback:
post:
summary: Stripe
deprecated: false
description: ''
tags:
- V2/Payment
parameters:
- name: Host
in: header
description: ''
required: false
example: localhost:9611
schema:
type: string
- name: User-Agent
in: header
description: ''
required: false
example: Stripe/1.0 (+https://stripe.com/docs/webhooks)
schema:
type: string
- name: Accept
in: header
description: ''
required: false
example: '*/*; q=0.5, application/xml'
schema:
type: string
- name: Cache-Control
in: header
description: ''
required: false
example: no-cache
schema:
type: string
- name: Content-Type
in: header
description: ''
required: false
example: application/json; charset=utf-8
schema:
type: string
- name: stripe-signature
in: header
description: ''
required: false
example: >-
t=1694413789,v1=6194b561c8d106513f09fc37a869d6649b3d2f4372becfadfc424992e6b8cb89,v0=344244e97b1a36396e82d16223d93e86e89a3e657156a0b488bcbb4c5d74e5e6
schema:
type: string
- name: Accept-Encoding
in: header
description: ''
required: false
example: gzip
schema:
type: string
- name: debug
in: header
description: ''
required: false
example: ' true'
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
examples:
'1':
value:
id: evt_1Np5tACmfbgzxEKua3nrPKoI
object: event
api_version: '2020-08-27'
created: 1694422476
data:
object:
id: >-
cs_test_a1FvIJufV6Qy5COp2LtJueIj59kJdkMz71vuVwATW6Xw3jZZPNntaszQIu
object: checkout.session
after_expiration: null
allow_promotion_codes: null
amount_subtotal: 50
amount_total: 50
automatic_tax:
enabled: false
status: null
billing_address_collection: auto
cancel_url: https://vite-henjgds8f-tsaiboc.vercel.app/
client_reference_id: null
consent: null
consent_collection: null
created: 1694422324
currency: usd
currency_conversion: null
custom_fields: []
custom_text:
shipping_address: null
submit: null
customer: cus_OcKYlkMgJGlZ0b
customer_creation: null
customer_details:
address:
city: null
country: CN
line1: null
line2: null
postal_code: null
state: null
email: dongyun.li@luxcreo.ai
name: Ldy
phone: null
tax_exempt: none
tax_ids: []
customer_email: null
expires_at: 1694508724
invoice: null
invoice_creation: null
livemode: false
locale: auto
metadata: []
mode: payment
payment_intent: pi_3Np5qiCmfbgzxEKu0tSYn022
payment_link: null
payment_method_collection: null
payment_method_options: []
payment_method_types:
- card
payment_status: paid
phone_number_collection:
enabled: false
recovered_from: null
setup_intent: null
shipping: null
shipping_address_collection: null
shipping_options: []
shipping_rate: null
status: complete
submit_type: null
subscription: null
success_url: https://studio.luxcreo.com/#/blank?uid=asfd123
total_details:
amount_discount: 0
amount_shipping: 0
amount_tax: 0
url: null
livemode: false
pending_webhooks: 2
request:
id: null
idempotency_key: null
type: checkout.session.completed
summary: 1
'2':
value:
id: evt_1RvytKICuF8hPnJxQLS3JekY
object: event
api_version: '2023-10-16'
created: 1755169218
data:
object:
id: >-
cs_test_a1INgdnYBLU16XzZnrm9DWR9qiFR3847olxwRU2ZM5IvEFwqOXohkRXBPL
object: checkout.session
adaptive_pricing:
enabled: true
after_expiration: null
allow_promotion_codes: false
amount_subtotal: 200
amount_total: 200
automatic_tax:
enabled: false
liability: null
provider: null
status: null
billing_address_collection: null
cancel_url: https://test-pay.luxcreo.com/view/v2/success
client_reference_id: 202508140359303491DTB
client_secret: null
collected_information: null
consent: null
consent_collection: null
created: 1755169171
currency: usd
currency_conversion: null
custom_fields: []
custom_text:
after_submit: null
shipping_address: null
submit: null
terms_of_service_acceptance: null
customer: null
customer_creation: if_required
customer_details:
address:
city: null
country: JP
line1: null
line2: null
postal_code: null
state: null
email: dongyun.li@luxcreo.ai
name: Test
phone: null
tax_exempt: none
tax_ids: []
customer_email: null
discounts: []
expires_at: 1755255570
invoice: null
invoice_creation:
enabled: false
invoice_data:
account_tax_ids: null
custom_fields: null
description: null
footer: null
issuer: null
metadata: {}
rendering_options: null
livemode: false
locale: en
metadata: {}
mode: payment
origin_context: null
payment_intent: pi_3RvytJICuF8hPnJx1NMiQCbm
payment_link: null
payment_method_collection: if_required
payment_method_configuration_details: null
payment_method_options:
card:
request_three_d_secure: automatic
payment_method_types:
- card
payment_status: paid
permissions: null
phone_number_collection:
enabled: false
presentment_details:
presentment_amount: 305
presentment_currency: jpy
recovered_from: null
saved_payment_method_options: null
setup_intent: null
shipping_address_collection: null
shipping_cost: null
shipping_details: null
shipping_options: []
status: complete
submit_type: null
subscription: null
success_url: https://test-pay.luxcreo.com/view/v2/success
total_details:
amount_discount: 0
amount_shipping: 0
amount_tax: 0
ui_mode: hosted
url: null
wallet_options: null
livemode: false
pending_webhooks: 1
request:
id: null
idempotency_key: null
type: checkout.session.completed
summary:
'3':
value:
id: evt_3SS7P1ICuF8hPnJx1ng8TMmN
object: event
api_version: '2023-10-16'
created: 1762850338
data:
object:
id: ch_3SS7P1ICuF8hPnJx1bkJLSBb
object: charge
amount: 89900
amount_captured: 89900
amount_refunded: 89900
application: null
application_fee: null
application_fee_amount: null
balance_transaction: txn_3SS7P1ICuF8hPnJx1G7nN89e
billing_details:
address:
city: null
country: JP
line1: null
line2: null
postal_code: null
state: null
email: dongyun.li@luxcreo.ai
name: Test
phone: null
tax_id: null
calculated_statement_descriptor: LUXCREO INC
captured: true
created: 1762828432
currency: usd
customer: null
description: null
destination: null
dispute: null
disputed: false
failure_balance_transaction: null
failure_code: null
failure_message: null
fraud_details: {}
invoice: null
livemode: false
metadata: {}
on_behalf_of: null
order: null
outcome:
advice_code: null
network_advice_code: null
network_decline_code: null
network_status: approved_by_network
reason: null
risk_level: normal
risk_score: 0
seller_message: Payment complete.
type: authorized
paid: true
payment_intent: pi_3SS7P1ICuF8hPnJx1OxCKEEe
payment_method: pm_1SS7P1ICuF8hPnJxZU8V1Gtm
payment_method_details:
card:
amount_authorized: 89900
authorization_code: '031906'
brand: visa
checks:
address_line1_check: null
address_postal_code_check: null
cvc_check: pass
country: US
exp_month: 12
exp_year: 2027
extended_authorization:
status: disabled
fingerprint: WPImZMCBukT5Tnjo
funding: credit
incremental_authorization:
status: unavailable
installments: null
last4: '4242'
mandate: null
multicapture:
status: unavailable
network: visa
network_token:
used: false
network_transaction_id: '878073109907767'
overcapture:
maximum_amount_capturable: 89900
status: unavailable
regulated_status: unregulated
three_d_secure: null
wallet: null
type: card
radar_options: {}
receipt_email: dongyun.li@luxcreo.ai
receipt_number: null
receipt_url: >-
https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT0RITTJJQ3VGOGhQbkp4KKLsy8gGMgZ3QwwuVAg6LBbcAVp5EDCyKJTRWm4NuVk-iFiLwzDtDqEh4VNGMrWBAEPet3hbvftZmqMW
refunded: true
review: null
shipping: null
source: null
source_transfer: null
statement_descriptor: null
statement_descriptor_suffix: null
status: succeeded
transfer_data: null
transfer_group: null
previous_attributes:
amount_refunded: 0
receipt_url: >-
https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT0RITTJJQ3VGOGhQbkp4KKHsy8gGMgZBh-dGeuY6LBYY_O88K9DKUAptOSpljjVRlSmePj-i70hjXeoFOEfAUmZnjWteR2K9BFOP
refunded: false
livemode: false
pending_webhooks: 1
request:
id: req_eNDGyQAT7marjD
idempotency_key: 1f521b59-73f4-4e96-8bf3-fcfa595c438d
type: charge.refunded
summary: charge.refunded
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Payment
x-apifox-status: integrating
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-334278868-run
/rpc/v2/account/logs/points/{caseId}/product:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Invoice
parameters:
- name: caseId
in: path
description: ''
required: true
example: 68b028fc6834a
schema:
type: string
- name: X-SP-ID
in: header
description: ''
required: true
example: LuxDesign
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
case_id:
type: string
uid:
type: string
name:
type: string
sku:
type: string
description:
type: string
prices:
type: array
items:
$ref: >-
#/components/schemas/%E5%8D%95%E5%B8%81%E7%A7%8D%E4%BB%B7%E6%A0%BC
title:
required:
- case_id
- uid
- name
- sku
- description
- prices
x-apifox-orders:
- case_id
- uid
- name
- sku
- description
- prices
x-apifox-ignore-properties: []
example:
case_id: 68affb136c01d
uid: 68affb136c01d
name: LuxDesign EMA 3D
sku: PD-D-EMA3DS-G-2Y
description: LuxDesign Pro EMA 3D Subscription
prices:
- currency: USD
symbol: $
amount: 169
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Invoice
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-342690797-run
/rpc/v2/account/{uid}/inv-addr:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Invoice
parameters:
- name: uid
in: path
description: ''
required: true
example: cn3321
schema:
type: string
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxDesign
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
uid:
type: string
address:
type: string
city:
type: string
state:
type: string
country:
type: string
zipCode:
type: string
required:
- uid
- address
- city
- state
- country
- zipCode
x-apifox-ignore-properties: []
x-apifox-orders:
- uid
- address
- city
- state
- country
- zipCode
example:
uid: cn3321
address: 12345 Magnolia Boulevard NortheastApartment 5678 Suite 910
city: Springfield
state: Illinois
country: United States
zipCode: 67890-1234
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Invoice
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-342707877-run
/rpc/v2/account/logs/points/{caseId}/invoices:
post:
summary:
deprecated: false
description: ''
tags:
- V2/Invoice
parameters:
- name: caseId
in: path
description: ''
required: true
example: 68b6a621387d6
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
patient_name:
type: string
title:
x-apifox-mock: '{{$person.fullName(locale=''en'')}}'
address:
type: string
title:
x-apifox-mock: '{{$location.streetAddress}}'
city:
type: string
title:
x-apifox-mock: '{{$location.city}}'
state:
type: string
title:
x-apifox-mock: '{{$location.state}}'
country:
type: string
title:
x-apifox-mock: '{{$location.country}}'
zip:
type: string
title:
x-apifox-mock: '{{$location.zipCode}}'
set_freq_addr:
type: boolean
title:
x-apifox-mock: '{{$datatype.boolean}}'
receiver:
type: string
title:
description:
x-apifox-mock: '{{$internet.email}}'
price:
type: object
properties:
amount:
type: number
title:
x-apifox-mock: '167.00'
currency:
type: object
properties:
code:
type: string
x-apifox-mock: '{{$finance.currencyCode}}'
description:
symbol:
type: string
x-apifox-mock: '{{$finance.currencySymbol}}'
description:
x-apifox-orders:
- code
- symbol
required:
- code
- symbol
x-apifox-ignore-properties: []
x-apifox-orders:
- amount
- currency
required:
- amount
- currency
x-apifox-ignore-properties: []
x-apifox-orders:
- patient_name
- address
- city
- state
- country
- zip
- set_freq_addr
- receiver
- price
required:
- patient_name
- address
- city
- state
- country
- zip
- set_freq_addr
- receiver
- price
x-apifox-ignore-properties: []
example:
patient_name: Garry Smith
address: 24
city:
state:
country:
zip: '648677'
set_freq_addr: false
receiver: k18to3_ljf22@sina.com
price:
amount: 167
currency:
code: USD
symbol: $
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
invoice_no:
type: string
uid:
type: string
case_id:
type: string
set_freq_addr:
type: boolean
receiver:
type: string
patient_name:
type: string
address:
type: string
city:
type: string
state:
type: string
country:
type: string
zip:
type: string
price:
type: object
properties:
code:
type: string
symbol:
type: string
amount:
type: number
required:
- code
- symbol
- amount
x-apifox-orders:
- code
- symbol
- amount
x-apifox-ignore-properties: []
required:
- invoice_no
- uid
- case_id
- set_freq_addr
- receiver
- patient_name
- address
- city
- state
- country
- zip
- price
x-apifox-orders:
- invoice_no
- uid
- case_id
- set_freq_addr
- receiver
- patient_name
- address
- city
- state
- country
- zip
- price
x-apifox-ignore-properties: []
example:
invoice_no: '358185'
uid: 61b71dd0a1c68
case_id: 68b93d7ae8d6f
set_freq_addr: false
receiver: chaoqun.ren@luxcreo.ai
patient_name: '20250711_0001'
address:
city:
state:
country:
zip: '000000'
price:
code: USD
symbol: $
amount: 165
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Invoice
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-342708819-run
/rpc/v2/invoice/invoices/{invoice-no}/email:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Invoice
parameters:
- name: invoice-no
in: path
description: ''
required: true
example: '517268'
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Invoice
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-344407410-run
/rpc/v2/invoice/invoices/{invoice-no}/pdf:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Invoice
parameters:
- name: invoice-no
in: path
description: ''
required: true
example: '517268'
schema:
type: string
responses:
'200':
description: ''
content:
application/octet-stream:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
example: "%PDF-1.4\n%âã\n1 0 obj\n<<\n/Title ()\n/Creator (<28><>\0w\0k\0h\0t\0m\0l\0t\0o\0p\0d\0f\0 \00\0.\01\02\0.\05)\n/Producer (<28><>\0Q\0t\0 \05\0.\01\01\0.\03)\n/CreationDate (D: 20250904070930Z)\n>>\nendobj\n2 0 obj\n<<\n/Type /Catalog\n/Pages 3 0 R\n>>\nendobj\n4 0 obj\n<<\n/Type /ExtGState\n/SA true\n/SM 0.02\n/ca 1.0\n/CA 1.0\n/AIS false\n/SMask /None>>\nendobj\n5 0 obj\n[/Pattern /DeviceRGB\n]\nendobj\n7 0 obj\n<<\n/ca 0.050980392 \n/CA 1 \n>>\nendobj\n8 0 obj\n<<\n/ca 0.200000000 \n/CA 1 \n>>\nendobj\n9 0 obj\n<<\n/Type /XObject\n/Subtype /Image\n/Width 276\n/Height 56\n/BitsPerComponent 8\n/ColorSpace /DeviceGray\n/Length 10 0 R\n/Filter /FlateDecode\n>>\nstream\nx<6E><78><EFBFBD>\vp\x16<31>\x1D<31>w<EFBFBD><77>\x18L\f<><66><<3C>Z\t<>R<EFBFBD><52><EFBFBD>@E\x10\x15JT*\x16\n*<2A>qdt\x10<31><30><EFBFBD>(<28>\0JA<4A><41>6N+<2B>ä<EFBFBD><C3A4>\"ت<><D8AA><EFBFBD><EFBFBD>\x06\x05A\x05-`<60>\nJD$\x05<30>2<EFBFBD><32><EFBFBD><E4BBBB><EFBFBD>n<EFBFBD><6E>\n}_H2<48>\x0E<30>$<24><><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\v\0<\x19#\t<> aB<61><42><EFBFBD>\b<>><3E><><EFBFBD><EFBFBD><EFBFBD>dO&Ap<41>_<EFBFBD>[\bMvC<76>m<EFBFBD><6D>R\x03<30><33>,<2C><>c<EFBFBD><63><EFBFBD>\"2a<32>S<EFBFBD>\x18<31>r<EFBFBD><72><EFBFBD><EFBFBD><EFBFBD>\x7F<37><46><EFBFBD>D\x11G<31><47>c<EFBFBD>$%(<28><><EFBFBD><EFBFBD><EFBFBD>N4P%\x04<30><34>ė01<30>\0<>1<EFBFBD>\x12<31>G{,<2C><>\x02e<32><65><EFBFBD><EFBFBD>s<EFBFBD><73>V\\<5C><>\x1F\t7<74><37>5)$<24>\x1E;HR<48><52><EFBFBD>\x14,<2C>|C<>Y\x01\x1C<R<><52>tM<74>4M<34>\x1EkH<6B>C<EFBFBD><43><EFBFBD><EFBFBD>\x18#Ñ\x10<31><30><EFBFBD>5]<5D><>\x14<31><34>\aIR(]<5D>\x048<34>\x06\x13sת<73>Vnm%<25>\b<><62>s<EFBFBD>x<EFBFBD>$<24>c\x1F<31>dP\x122<32><32><EFBFBD>S\x10<31><30>'<27>_<EFBFBD><5F><EFBFBD><EFBFBD>R<EFBFBD><52>\x11<31><31>MF<4D><46><EFBFBD>K#\x02<30><32><EFBFBD≯#(<28>(%b<><62>ԙǗ<D499>\x05EG<45>'^<5E>*<2A>K[\t<>=<3D>][<5B>j<EFBFBD><6A><>N<EFBFBD><4E><EFBFBD>$<24><>\x7F-<2D>\x02p<32>\x17<31><37>e1>(<28><><EFBFBD>x<EFBFBD>N\n<><6E>?<3F>0=<3D>\\\b<>\x17=<3D><><EFBFBD>қ<EFBFBD>8<EFBFBD>o\v<>Q/<2F>\x10$欓d\x027<32><37><EFBFBD>nq\x14<31><34><EFBFBD>|(<28>\\.<2E>d<EFBFBD><64><EFBFBD>L<EFBFBD><4C>n!~@\n<><6E><EFBFBD>\b0<62>e<EFBFBD><65><EFBFBD>\x10<31>\n<><>\x1C<31><43>|\\<5C><><EFBFBD>\x02<30>f\x06<30>\x15<31>_<EFBFBD><5F><EFBFBD>hgb(<28><>C<EFBFBD>LM<4C>KJ<4B>$Ml.<2E>uN<75>ts\x01ϼ&r<><72>e<EFBFBD><65>`=,U<><55>\x16:R\0\x18/\x04,ک<>:\x8B!(<28>\x16p\\\a<><61>h<EFBFBD>gq<67>W*(f\x02(aH<61>%<25>8&`2ZV<5A>Y\x15<31>)\v<><76><EFBFBD>\v<>~<7E><>*S<>NS<4E>Giߨ<69>U/m܁\x1C<31><43><EFBFBD><EFBFBD><EFBFBD>.\x14xط\x03<30>Z%<25>@<40>X<EFBFBD><58>V_<56>+<2B>DIB&<26>˪<EFBFBD><CBAA><EFBFBD>lY<6C><59><EFBFBD>m<EFBFBD><6D>\x18w<38>\x1C<31><43>+w˺9Qs<51><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>970<37>﵆*\a<><61><EFBFBD>\e<><65><EFBFBD>H<EFBFBD><48>ӼF<D3BC><46>vI<76>$bR$<24><><EFBFBD><EFBFBD>T\n]OI\a<>m\b<>qw<71><<3C>\\V<>[<5B><>K<EFBFBD><4B><EFBFBD>\n}'s\x0F<30>Җ<EFBFBD><D296><EFBFBD><EFBFBD>ʵe<CAB5>\x11B쏐<42><EC8F90><EFBFBD><EFBFBD>A⇒l<E28792>t<EFBFBD>\t0<74>*(<28>\x1C\x06V\x16<31>0<EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><:F\f9<66>ZOs<4F>\n<>{<7B>\n]<5D>\x10<31><30><EFBFBD><EFBFBD><EFBFBD>Ç?BT<42>?\b@<40>!<21>B1<42>FLp<4C><70>\x04@NJzy<7A><79>b<EFBFBD>1MY<4D>\x02\x13<31>n\\w<><77><EFBFBD>[<5B><>;J<><4A>U\x02J<32><4A>6KU_ҕ<5F>.<2E>륛G<EBA59B>r<EFBFBD>\f<>\0\x12\x1DJ<44><4A><EFBFBD>A&\0<><30><EFBFBD><EFBFBD>eRcwY<77>\n}r&<26><><EFBFBD><EFBFBD>\e^<5E>\x14<31><34>\x02<30>W<EFBFBD><57><EFBFBD>\x11<31><31>\x19<31>o\x19).\x12<31>vg<76>QPRB<52>1&h<>g<EFBFBD><67>\aU\\<5C><>%5I<35><49>s\x1D+{x'\x10<31><30><EFBFBD>c<EFBFBD><63>R<EFBFBD><52>\x17<31><37>\x02y?f8<66><38><48>d\x12\x1F<31>T\x06NG<4E>\04ϳP8<50><38><EFBFBD>\x13<31>h<EFBFBD>(<28>wK<77>pEV<45><56><EFBFBD><EFBFBD>\n}<7D>5<EFBFBD>F<EFBFBD><46><EFBFBD>Q<EFBFBD>@I-J:<3A>\x04\x18<31>\n](<28>=Y<M\x16%<25>O>p\x17<31>\x0FE<46>׋<EFBFBD>T<EFBFBD>r<EFBFBD>%.-<2D><><EFBFBD><EFBFBD><EFBFBD>?n\t<>\x14\x1F\x12\x0F<30>xjQ<6A>a&\0<>PH<50>1<EFBFBD><31>`\x14<31><34>b<EFBFBD>\e<><65>;\x12<31>Xe<58><65><<3C><><EFBFBD>\n]<5D>\t<>S4ݏD<DD8F>rK<72>Ǟ\x1Deb<65><62><EFBFBD>Iwm\x7F<37>\x16<31><36>(<28><>Ƀn<C983><6E>\x11H<31><48><EFBFBD><EFBFBD>\x01կ<31><D5AF>xX<78>.<2E>\x14O<34>=<3D><>L<EFBFBD>RmB<6D><42><EFBFBD><EFBFBD>E%Q\x06)&\x0F<30>E\n<>D<EFBFBD>#g<><67>U<EFBFBD><55>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>u$'\x01%\x05&o<><6F><EFBFBD>\0\x13c<33><63>\x04\x1Fs<46>s<EFBFBD>*l\a<><61>E<EFBFBD>׿<EFBFBD>R<EFBFBD><52><EFBFBD>!<21><EFBFBD>&흢<><ED9DA2>߳\x1FI<46><49><EFBFBD><EFBFBD><EFBFBD>\n]U0D\x16<31>wD<77>g<EFBFBD>b<EFBFBD>vf\x14C<34><43>\x7F\x151<35><31>0y5<79>I<EFBFBD><49>+<2B><><EFBFBD>*\nv\aD<61>H<EFBFBD>\n%<25>g<EFBFBD>ê<EFBFBD>ɲ`<60>#<23><>m;3;<3B>F\x05O<35><4F><EFBFBD>-<2D><>x<EFBFBD>\"\x16&\x7F<EFBFBD><EFBFBD><EFBFBD>vJ$<EFBFBD>?\x06D<EFBFBD>ʼn?%f<EFBFBD>O\t<EFBFBD><EFBFBD>Qn<EFBFBD><<EFBFBD><EFBFBD>\x05<EFBFBD>d<EFBFBD>q@<EFBFBD>\x1C<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߙjP<EFBFBD>a<EFBFBD>M<EFBFBD><EFBFBD><EFBFBD>\x1Dω<EFBFBD>\x16<EFBFBD>Đ\n<EFBFBD>\n<EFBFBD><EFBFBD>!<EFBFBD>?<EFBFBD><EFBFBD>h<EFBFBD>d28 jl<EFBFBD>=-<EFBFBD><EFBFBD>).<EFBFBD>>&<EFBFBD>\x05<EFBFBD><EFBFBD>S^<EFBFBD><EFBFBD>C\x1A<EFBFBD>V\x03E\x0E&<EFBFBD><EFBFBD>da<EFBFBD><EFBFBD>ۙVTcT<EFBFBD><EFBFBD><EFBFBD><EFBFBD>r%<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\x13\x1C&QL<EFBFBD>\\<EFBFBD><EFBFBD>YZ<EFBFBD><EFBFBD>8\v\b<EFBFBD><EFBFBD>\fl_ͳ(<EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD>^$\x0E\x13l<EFBFBD>\t\x1F\x1E<EFBFBD><EFBFBD><EFBFBD>tթEf<EFBFBD><EFBFBD>=<EFBFBD><EFBFBD>\x13\n\x0F\bͷ<EFBFBD>#<EFBFBD>V<EFBFBD>\fa|ܹ<EFBFBD><EFBFBD>TS<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\x11L<EFBFBD>
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Invoice
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-344560096-run
/rpc/v2/invoice/invoices/{invoice-no}:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Invoice
parameters:
- name: invoice-no
in: path
description: ''
required: true
example: '517268'
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
address:
type: object
properties:
address:
type: string
city:
type: string
state:
type: string
zip_code:
type: string
country:
type: string
required:
- address
- city
- state
- zip_code
- country
x-apifox-orders:
- address
- city
- state
- zip_code
- country
x-apifox-ignore-properties: []
invoice_no:
type: string
invoice_at:
type: string
product:
type: object
properties:
name:
type: string
sku:
type: string
description:
type: string
required:
- name
- sku
- description
x-apifox-orders:
- name
- sku
- description
x-apifox-ignore-properties: []
patient_name:
type: string
designed_at:
type: string
case_id:
type: string
balance:
type: object
properties:
total:
type: integer
cost:
type: integer
remain:
type: integer
required:
- total
- cost
- remain
x-apifox-orders:
- total
- cost
- remain
x-apifox-ignore-properties: []
required:
- address
- invoice_no
- invoice_at
- product
- patient_name
- designed_at
- case_id
- balance
x-apifox-orders:
- address
- invoice_no
- invoice_at
- product
- patient_name
- designed_at
- case_id
- balance
x-apifox-ignore-properties: []
example:
address:
address: 12345 Magnolia Boulevard NortheastApartment 5678 Suite 910
city: Springfield
state: Illinois
zipCode: 67890-1234
country: United States
invoice_no: '517268'
invoice_at: '2025-09-02 01:31:48'
product:
name: LuxDesign EMA 3D
sku: PD-D-EMA3DS-S-1Y
description: LuxDesign Pro EMA 3D Subscription
patient_name: Ms. Jennifer Durgan
designed_at: '2025-09-02 01:09:05'
case_id: 68b6a621387d6
balance:
total: 25
cost: 1
remain: 25
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Invoice
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-346275356-run
/rpc/v2/invoice/{pointType}/price:
get:
summary:
deprecated: false
description:
tags:
- V2/Invoice
parameters:
- name: pointType
in: path
description: ''
required: true
example: ema
schema:
type: string
- name: X-SP-ID
in: header
description: ''
required: true
example: LuxDesign
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
pointType:
type: string
prices:
type: array
items:
type: object
properties:
currency:
type: string
title:
symbol:
type: string
title:
amount:
type: number
title:
x-apifox-orders:
- currency
- symbol
- amount
x-apifox-ignore-properties: []
required:
- pointType
- prices
x-apifox-orders:
- pointType
- prices
x-apifox-ignore-properties: []
example:
pointType: ema
prices:
- currency: USD
symbol: $
amount: 169
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Invoice
x-apifox-status: exception
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-381543589-run
/rpc/v2/account/{uid}/inv-email:
get:
summary:
deprecated: false
description: ''
tags:
- V2/Invoice
parameters:
- name: uid
in: path
description: ''
required: true
example: cn3321
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
uid:
type: string
email:
type: string
required:
- uid
- email
x-apifox-ignore-properties: []
x-apifox-orders:
- uid
- email
example:
uid: cn3321
email: dongyun.li@luxcreo.ai
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Invoice
x-apifox-status: integrating
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-383683787-run
put:
summary:
deprecated: false
description: ''
tags:
- V2/Invoice
parameters:
- name: uid
in: path
description: ''
required: true
example: cn3321
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
email:
type: string
title:
x-apifox-mock: dongyun.li@luxcreo.ai
x-apifox-orders:
- email
required:
- email
x-apifox-ignore-properties: []
example:
email: dongyun.li@luxcreo.ai
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
uid:
type: string
email:
type: string
required:
- uid
- email
x-apifox-ignore-properties: []
x-apifox-orders:
- uid
- email
example:
uid: cn3321
email: dongyun.li@luxcreo.ai
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2/Invoice
x-apifox-status: integrating
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-383709539-run
/rpc/v2/orders:
post:
summary:
deprecated: true
description:
tags:
- V2
parameters:
- name: X-SP-ID
in: header
description: ''
required: false
example: LuxCloud Dental
schema:
type: string
- name: X-REQUEST-TOKEN
in: header
description: ''
required: false
example: '{{$string.uuid}}'
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
uid:
type: string
description: LuxAccount UID
title: LuxCreo
method:
$ref: '#/components/schemas/Payment%20Method'
description:
type: string
title:
description: wechat
total_amount:
type: integer
title:
description:
currency:
type: string
title:
description: ISO 4217
x-apifox-mock: '{{$finance.currencyCode}}'
items:
$ref: '#/components/schemas/Items'
method_details:
oneOf:
- $ref: '#/components/schemas/Stripe.Checkout'
description:
external:
type: object
properties: {}
x-apifox-orders: []
title:
description:
x-apifox-ignore-properties: []
remark:
type: string
title:
description:
x-apifox-orders:
- uid
- method
- description
- total_amount
- currency
- items
- method_details
- external
- remark
required:
- method
- items
- uid
- total_amount
- currency
- method_details
x-apifox-ignore-properties: []
example:
uid: 6ba8e0ff8
method: stripe.checkout
description:
total_amount: 59800
currency: USD
items:
- name: Design
quantity: 1
unit_price: 19900
- name: Production
quantity: 1
unit_price: 39900
method_details:
allow_promotion_codes: false
locale: en
external:
caseId: 32
version: '1.2'
remark:
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Order1'
example:
order_no: 202309271350572717DTB
state: Paid
transaction_id: >-
cs_live_a1OFMrSfQZGoyoF4nvMpno1NRBb7HD9S7XfTE8kdH2EZ7mGJuMxw0In5GK
uid: 61c41bed7da26
method: stripe.checkout
description: High Constant Lattice
total_amount: 54900
currency: USD
items:
- name: Design
quantity: 1
unit_price: 19900
goods_id: 8b8df9fac
- name: Production
quantity: 1
unit_price: 39900
goods_id: beb8df9fa
external:
caseId: 32
version: '1.2'
remark:
notification: {}
more_details:
session_id: >-
cs_live_a1OFMrSfQZGoyoF4nvMpno1NRBb7HD9S7XfTE8kdH2EZ7mGJuMxw0In5GK
pk: >-
pk_live_51ODHM2ICuF8hPnJxHCZKmVlYMbRVmu3xz6HZ5Dp4YcmQz1gbX3Pu2lxDYLRwp0ZG7RNgEtEDDCPUpzCxt5NWX1nx00e2jTOy3k
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2
x-apifox-status: deprecated
x-apifox-maintainer:
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-309955781-run
/view/v2/stripe/{order-no}:
get:
summary: Stripe
deprecated: false
description:
tags:
- V2
parameters:
- name: order-no
in: path
description:
required: true
example: 202508140047571208DTB
schema:
type: string
responses:
'200':
description: ''
content:
text/html:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-329816907-run
/view/v2/success:
get:
summary:
deprecated: false
description: ''
tags:
- V2
parameters: []
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties: {}
x-apifox-ignore-properties: []
x-apifox-orders: []
headers: {}
x-apifox-name:
x-apifox-ordering: 0
security: []
x-apifox-folder: V2
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/2784201/apis/api-336036985-run
components:
schemas:
Goods:
type: object
properties:
id:
type: integer
goodsName:
type: string
title:
goodsSpec:
type: object
properties: {}
x-apifox-orders: []
title:
description:
x-apifox-ignore-properties: []
amount:
type: object
properties:
price:
type: integer
description:
currency:
type: string
title:
x-apifox-orders:
- price
- currency
required:
- price
- currency
x-apifox-ignore-properties: []
x-apifox-orders:
- id
- goodsName
- goodsSpec
- amount
required:
- id
- goodsName
- goodsSpec
- amount
x-apifox-ignore-properties: []
x-apifox-folder: V1
Order:
type: object
properties:
orderNo:
type: string
title:
description: LuxPay
transactionId:
type: string
title:
description:
goodsName:
type: string
title:
amount:
type: object
properties:
amount:
type: integer
title:
description:
currency:
type: string
title:
x-apifox-orders:
- amount
- currency
required:
- amount
- currency
x-apifox-ignore-properties: []
state:
type: string
enum:
- Created
- Paid
- Cancelled
- Closed
x-apifox:
enumDescriptions:
Created: ''
Paid: ''
Cancelled: ''
Closed: ''
title:
uid:
type: string
title: LuxAccount UID
payment:
type: string
title:
remark:
type: string
title:
nullable: true
number:
type: string
title:
notification:
type: object
properties: {}
x-apifox-orders: []
description:
x-apifox-ignore-properties: []
x-apifox-orders:
- orderNo
- transactionId
- goodsName
- amount
- state
- uid
- payment
- remark
- number
- notification
required:
- orderNo
- transactionId
- goodsName
- amount
- state
- uid
- payment
- remark
- number
x-apifox-ignore-properties: []
x-apifox-folder: V1
StripeConfigration:
type: object
properties:
id:
type: string
pk:
type: string
title:
x-apifox-orders:
- id
- pk
required:
- id
- pk
x-apifox-ignore-properties: []
x-apifox-folder: V1
Money:
type: object
properties:
value:
type: integer
x-apifox-mock: '100'
title:
description:
currency:
type: string
x-apifox-mock: '{{$finance.currencyCode}}'
title:
x-apifox-orders:
- value
- currency
required:
- value
- currency
x-apifox-ignore-properties: []
x-apifox-folder: V1
InvoiceRecord:
type: object
properties:
invoice_no:
type: string
receiver:
type: string
x-apifox-orders:
- invoice_no
- receiver
required:
- invoice_no
- receiver
x-apifox-ignore-properties: []
x-apifox-folder: V2/Account
InitialAccountPoint:
type: object
properties:
type:
$ref: '#/components/schemas/PointType'
basic:
type: number
nullable: true
bonus:
type: number
nullable: true
expired_at:
type: string
nullable: true
version:
type: string
nullable: true
x-apifox-orders:
- type
- basic
- bonus
- expired_at
- version
required:
- type
x-apifox-ignore-properties: []
x-apifox-folder: V2/Account
Stripe.Checkout:
type: object
properties:
allow_promotion_codes:
type: boolean
default: false
description: Checkout 使
x-apifox-mock: '{{$datatype.boolean}}'
locale:
type: string
description: Stripe Checkout ( 'zh', 'en')
pattern: ^(zh|en)$
x-apifox-mock: en
allOf:
- if:
properties:
mode_type:
const: products
x-apifox-orders:
- mode_type
then:
required:
- stripe_price_ids
properties:
stripe_price_ids:
minItems: 1
x-apifox-orders:
- stripe_price_ids
x-apifox-orders:
- allow_promotion_codes
- locale
x-apifox-ignore-properties: []
x-apifox-folder: V2/Order/Method_Details
Stripe.Checkout.Session:
type: object
properties:
session_id:
type: string
pk:
type: string
x-apifox-orders:
- session_id
- pk
required:
- session_id
- pk
x-apifox-ignore-properties: []
x-apifox-folder: V2/Order/More Details
Wechat.Native.Qrcode:
type: object
properties:
uri:
type: string
description: base64 img src
file_type:
type: string
enum:
- webp
- svg
x-apifox-enum:
- value: webp
name: ''
description: ''
- value: svg
name: ''
description: ''
title:
description: webp/svg
x-apifox-orders:
- uri
- file_type
required:
- uri
- file_type
x-apifox-ignore-properties: []
x-apifox-folder: V2/Order/More Details
Payment Method:
type: string
enum:
- stripe.checkout
- stripe.intent
- wechat.native
x-apifox-enum:
- value: stripe.checkout
name: Stripe
description: ''
- value: stripe.intent
name: Stripe
description: ''
- value: wechat.native
name:
description: ''
x-apifox-folder: V2/Order
Item:
type: object
properties:
name:
type: string
description: goodsName
quantity:
type: integer
minimum: 1
description:
unit_price:
type: number
description:
required:
- quantity
- name
x-apifox-orders:
- name
- quantity
- unit_price
x-apifox-ignore-properties: []
x-apifox-folder: V2/Order
Items:
type: array
description:
items:
$ref: '#/components/schemas/Item'
minItems: 1
x-apifox-folder: V2/Order
Order1:
type: object
properties:
order_no:
type: string
title:
description: LuxPay
state:
type: string
enum:
- Created
- Paid
- Cancelled
- Closed
title:
x-apifox-enum:
- name: ''
value: Created
description: ''
- name: ''
value: Paid
description: ''
- name: ''
value: Cancelled
description: ''
- name: ''
value: Closed
description: ''
transaction_id:
type: string
title:
description:
uid:
type: string
title: LuxAccount UID
method:
title:
x-apifox-mock: stripe
$ref: '#/components/schemas/Payment%20Method'
description:
type: string
title:
total_amount:
type: integer
currency:
type: string
x-apifox-mock: '{{$finance.currencyCode}}'
items:
$ref: '#/components/schemas/Items'
external:
type: object
properties: {}
x-apifox-orders: []
title:
description:
x-apifox-ignore-properties: []
remark:
type: string
title:
nullable: true
notification:
type: object
properties: {}
x-apifox-orders: []
description:
x-apifox-ignore-properties: []
more_details:
oneOf:
- $ref: '#/components/schemas/Stripe.Checkout.Session'
- $ref: '#/components/schemas/Wechat.Native.Qrcode'
title:
description: methodstripe.checkout sessionIdwechat.native data
x-apifox-orders:
- order_no
- state
- transaction_id
- uid
- method
- description
- total_amount
- currency
- items
- external
- remark
- notification
- more_details
required:
- order_no
- transaction_id
- description
- total_amount
- state
- uid
- method
- external
- currency
- remark
- items
- more_details
x-apifox-ignore-properties: []
x-apifox-folder: V2/Order
ProductItem:
type: object
properties:
name:
type: string
x-apifox-mock: Premium Pack
title:
currency:
type: string
x-apifox-mock: USD
price:
type: number
x-apifox-mock: '1699'
total_points:
type: number
x-apifox-mock: '1999'
title:
bonus_rate_pct:
type: integer
title:
description: /*100
x-apifox-mock: '15'
point:
type: object
properties:
total:
type: integer
x-apifox-mock: '1999'
number:
type: integer
x-apifox-mock: '1699'
bonus:
type: integer
x-apifox-mock: '300'
required:
- total
- number
- bonus
x-apifox-orders:
- total
- number
- bonus
title:
description:
x-apifox-ignore-properties: []
required:
- name
- currency
- price
x-apifox-orders:
- name
- currency
- price
- total_points
- bonus_rate_pct
- point
x-apifox-ignore-properties: []
x-apifox-folder: V2/Product
RechargeProduct:
type: object
properties:
plan:
type: array
items:
$ref: '#/components/schemas/ProductItem'
title:
package:
type: array
items:
$ref: '#/components/schemas/ProductItem'
title:
one_time:
$ref: '#/components/schemas/ProductItem'
title:
required:
- one_time
x-apifox-orders:
- plan
- package
- one_time
x-apifox-ignore-properties: []
x-apifox-folder: V2/Product
PointType:
type: string
title:
enum:
- lux-point
- ema
- aligner-4d
- nightguard-ai
- aligner
- retainer
- scan-to-model
x-apifox-enum:
- value: lux-point
name: ''
description: ''
- value: ema
name: ''
description: ''
- value: aligner-4d
name: ''
description: dental
- value: nightguard-ai
name: ''
description: dental
- value: aligner
name: ''
description: design
- value: retainer
name: ''
description: design
- value: scan-to-model
name: ''
description: design
x-apifox-folder: V2/Product
RechargeOrderItem:
type: object
properties:
product_id:
type: integer
title: ID
description: ID
quantity:
type: integer
title:
x-apifox-orders:
- product_id
- quantity
required:
- product_id
- quantity
x-apifox-ignore-properties: []
x-apifox-folder: V2/Transaction/Recharge
:
type: object
properties:
order_no:
type: string
uid:
type: string
pay_type:
$ref: '#/components/schemas/%E6%94%AF%E4%BB%98%E6%96%B9%E5%BC%8F'
action:
$ref: '#/components/schemas/Order%20Action'
status:
$ref: '#/components/schemas/OrderStatus'
source:
type: string
title:
items:
$ref: '#/components/schemas/Items'
transactions:
type: array
items:
$ref: '#/components/schemas/Transaction'
title:
external:
type: object
properties: {}
x-apifox-orders: []
description:
x-apifox-ignore-properties: []
external_id:
type: string
title:
description: CaseID LicenseKey
nullable: true
created_at:
type: string
title:
nullable: true
occurred_at:
type: string
title: /
nullable: true
last_refunded_at:
type: string
title: 退/
nullable: true
x-apifox-orders:
- order_no
- uid
- pay_type
- action
- status
- source
- items
- transactions
- external
- external_id
- created_at
- occurred_at
- last_refunded_at
required:
- order_no
- uid
- pay_type
- action
- status
- source
- items
- transactions
- external
- created_at
- occurred_at
- last_refunded_at
- external_id
x-apifox-ignore-properties: []
x-apifox-folder: V2/Transaction/TransactionRecord
Transaction:
type: object
properties:
pay_type:
$ref: '#/components/schemas/%E6%94%AF%E4%BB%98%E6%96%B9%E5%BC%8F'
description: hybrid
type:
oneOf:
- $ref: '#/components/schemas/PointType'
- $ref: '#/components/schemas/Payment%20Method'
amount:
type: number
description:
status:
$ref: '#/components/schemas/%E4%BA%A4%E6%98%93%E9%A1%B9%E7%8A%B6%E6%80%81'
x-apifox-orders:
- pay_type
- type
- amount
- status
required:
- pay_type
- type
- amount
- status
title:
x-apifox-ignore-properties: []
x-apifox-folder: V2/Transaction/TransactionRecord
:
type: string
enum:
- paid
- failed
- created
- refunded
x-apifox-enum:
- value: paid
name: 退
description: ''
- value: failed
name: ''
description: ''
- value: created
name: ''
description: ''
- value: refunded
name: 退
description: ''
x-apifox-folder: V2/Transaction/TransactionRecord
RefundTransaction:
type: object
properties:
pay_type:
$ref: '#/components/schemas/%E6%94%AF%E4%BB%98%E6%96%B9%E5%BC%8F'
description: hybrid
type:
oneOf:
- $ref: '#/components/schemas/PointType'
- $ref: '#/components/schemas/Payment%20Method'
amount:
type: number
description:
status:
$ref: '#/components/schemas/%E9%80%80%E6%AC%BE%E9%A1%B9%E7%8A%B6%E6%80%81'
x-apifox-orders:
- pay_type
- type
- amount
- status
required:
- pay_type
- type
- amount
- status
title: 退
x-apifox-ignore-properties: []
x-apifox-folder: V2/Transaction/TransactionRecord
退:
type: string
enum:
- refunded
- failed
- created
x-apifox-enum:
- value: refunded
name: ''
description: ''
- value: failed
name: ''
description: ''
- value: created
name: ''
description: ''
x-apifox-folder: V2/Transaction/TransactionRecord
OrderDto:
type: object
properties:
order_no:
type: string
action:
$ref: '#/components/schemas/Order%20Action'
pay_type:
$ref: '#/components/schemas/%E6%94%AF%E4%BB%98%E6%96%B9%E5%BC%8F'
status:
$ref: '#/components/schemas/OrderStatus'
required:
- order_no
- status
- action
- pay_type
x-apifox-orders:
- order_no
- action
- pay_type
- status
x-apifox-ignore-properties: []
x-apifox-folder: V2/Transaction
OrderStatus:
type: string
title:
enum:
- created
- paid
- refunded
- cancelled
- completed
x-apifox-enum:
- name: ''
value: created
description:
- name: ''
value: paid
description:
- name: ''
value: refunded
description: 退
- name: ''
value: cancelled
description:
- value: completed
name: ''
description:
x-apifox-folder: V2/Transaction
:
type: string
description: hybrid
enum:
- card
- point
- hybrid
x-apifox-enum:
- value: card
name:
description: ''
- value: point
name:
description: ''
- value: hybrid
name: -
description: ''
x-apifox-folder: V2/Transaction
Order Action:
type: string
enum:
- recharge
- consumption
- refund
x-apifox-enum:
- value: recharge
name:
description: ''
- value: consumption
name:
description: ''
- value: refund
name: 退
description: ''
x-apifox-folder: V2/Transaction
:
type: object
properties:
currency:
type: string
title:
x-apifox-mock: '{{$finance.currencyCode}}'
symbol:
type: string
title:
x-apifox-mock: '{{$finance.currencySymbol}}'
amount:
type: number
title:
x-apifox-mock: '{{$string.numeric}}'
x-apifox-orders:
- currency
- symbol
- amount
x-apifox-ignore-properties: []
x-apifox-folder: V2/Invoice
responses: {}
securitySchemes: {}
servers: []
security: []