openydt-billing

Original🇨🇳 Chinese
Translated

Parking Payment Transaction Domain: Check parking fees, payment feedback, batch payment of arrears, pre-deposit/operation points preset. Covers high-frequency terms such as fee checking/payment/parking fee/parking fee checking/fee calculation/online payment/payment feedback/payment/arrears payment/batch payment/pre-deposit/pre-payment/pay before exit/password-free payment/operation points/points deduction/time-based fee calculation.

6installs
Added on

NPX Install

npx skill4agent add xiaowen-0725/openydt-cli openydt-billing

Tags

Translated version includes tags in frontmatter

SKILL.md Content (Chinese)

View Translation Comparison →
CRITICAL: MUST use the Read tool to read
../openydt-shared/SKILL.md
before starting
(Authentication / Profile / Signature / Status Code / Rate Limiting / Security Rules). Do not execute any commands without reading the shared base.

When to Use This Skill

This skill covers the parking payment transaction domain (trade): temporary parking fee checking, payment information feedback, batch payment of arrears, and pre-deposit/operation points preset (for automatic vehicle fee deduction).
Intent Routing:
  • "How much is the parking fee for this car? / Check the parking fee / Calculate the fee / How much do I need to pay when exiting" →
    openydt trade get-park-fee
    (real-time fee checking, payment must be completed within 10 minutes).
  • "Approximately how much will it cost to park for X hours in the future? / Estimate the fee by time period" →
    openydt trade common-get-park-fee
    .
  • "Feedback the successful payment order / Sync payment / Write back payment" →
    openydt trade pay-park-fee
    (write operation, requires
    --yes
    ).
  • "Pay off these arrears together / Batch payment of arrears / Pay off exit arrears" →
    openydt trade payback-batch
    (write operation, requires
    --yes
    ).
  • "Pre-deposit for the car / Automatic deduction after recharge / Password-free payment with pay before exit" →
    openydt trade set-prestore-for-c-park
    or
    set-prestore-for-c-park-first-pay-before-leave
    (write operation, requires
    --yes
    ).
  • "Preset operation points / Points automatically deduct parking fees" →
    openydt trade set-points
    (write operation, requires
    --yes
    ).
On-site vehicle confirmation, order query, vehicle entry supplementary recording, etc. belong to the parking domain, see
openydt parking --help
.

Available Commands

Chinese NameCommandRead/WriteKey Parameters
Get Parking Fee by Time (Estimate Future Period)
openydt trade common-get-park-fee
Read
--park-code
required,
--car-type
required,
--start-time
required,
--end-time
required,
--charge-group
(cloud parking lot only)
Get Parking Fee (Real-time Fee Checking, Payment within 10 Minutes)
openydt trade get-park-fee
Read
--car-code
license plate,
--park-code
(search the entire system by license plate/card number if not provided),
--card-code
,
--parking-code
,
--need-pay-qr-code
,
--body
(couponList)
Payment Information Feedback
openydt trade pay-park-fee
Write
--parking-code
required,
--charge-date
required,
--pay-date
required,
--act-pay-charge
required,
--pay-origin
required,
--payment-mode
required,
--bill-code
required,
--body
(otherAtrr)
Batch Payment of Arrears
openydt trade payback-batch
Write
--body
(paybackList[]: parkCode/parkingCode/paybackTime/paybackValue/couponValue/payOrigin/paymentMode/thirdBillCode)
Preset Operation Points (Automatic Parking Fee Deduction)
openydt trade set-points
Write
--park-code
,
--app-id
required,
--parking-code
required,
--third-bill-code
required,
--rule
required,
--max
required,
--points-value
required,
--pay-origin
required,
--payment-mode
required
Preset Pre-deposit (Automatic Deduction for Cloud Parking Lot)
openydt trade set-prestore-for-c-park
Write
--parking-code
required,
--third-bill-code
required,
--prestore-amount
required,
--pay-origin
required,
--payment-mode
required,
--park-code
Preset Pre-deposit (Pay Before Exit)
openydt trade set-prestore-for-c-park-first-pay-before-leave
Write
--parking-code
required,
--prestore-amount
required,
--park-code
All write commands (
pay-park-fee
/
payback-batch
/
set-points
/
set-prestore-for-c-park
/
set-prestore-for-c-park-first-pay-before-leave
) must be executed with
--yes
for confirmation, otherwise they will be blocked.

Business Process

Parking Payment Closed Loop (Fee Checking → Payment → Reconciliation)

Execute step by step, be sure to use the fields from the previous command response as parameters for subsequent commands, do not construct them out of thin air:
  1. Vehicle Entry Supplementary Recording (Cloud Parking Lot) — If the vehicle entry was not reported, first supplement the entry record:
    openydt parking supplement-parking-record-in --yes ...
  2. Confirm On-site Status — Check on-site vehicles, confirm the target license plate is on-site and get the affiliated parking lot:
    openydt parking get-park-on-site-car --park-code-list <park>
  3. Real-time Fee Checking — Check fees by license plate + parking lot:
    openydt trade get-park-fee --car-code <license plate> --park-code <park>
    Extract the fields required for subsequent payment from the response:
    • data.otherAttr.chargeBillToken
      /
      data.otherAttr.chargeBillNumber
      → Payment token / bill number (passed in
      otherAtrr
      of
      --body
      during payment);
    • data.shouldPayValue
      → Amount to be paid (= actual payment
      actPayCharge
      + coupon deduction
      couponValue
      );
    • parkingCode
      and
      chargeDate
      from the response →
      --parking-code
      and
      --charge-date
      for the next payment step.
    Payment must be completed within 10 minutes after fee checking, otherwise the token/bill may become invalid.
  4. Payment Feedback (write operation, requires
    --yes
    ) — Feedback the token, bill, and amount to be paid/actual payment amount obtained in step 3:
    openydt trade pay-park-fee --yes \
      --parking-code <from fee checking parkingCode> \
      --charge-date <from fee checking chargeDate> \
      --pay-date <yyyyMMddHHmmss> \
      --act-pay-charge <actual payment, <= shouldPayValue> \
      --pay-origin 9 --payment-mode 4 \
      --bill-code <third-party unique order number> \
      --body '{"otherAtrr":{"chargeBillToken":"<from fee checking>","chargeBillNumber":"<from fee checking>"}}'
    Note: When paying with coupons,
    couponValue
    in
    couponList
    +
    actPayCharge
    must equal
    shouldPayValue
    returned by fee checking;
    billCode
    must be globally unique, and remain consistent with the first payment when retrying to facilitate deduplication and reconciliation.
  5. Check Order Records — Verify orders and details after payment:
    openydt parking get-pay-bill ...
    openydt parking get-park-detail ...

Examples

Real-time Fee Checking (Check parking fee by license plate in the specified parking lot, parameters from catalog sampleBody):
openydt trade get-park-fee --park-code 2KNTYVWC --car-code 粤EXX123
Estimate Future Parking Fee by Time Period (small car, park for 10 hours):
openydt trade common-get-park-fee \
  --park-code 2KNTYVWC --car-type 1 \
  --start-time "2018-01-01 00:00:00" --end-time "2018-01-01 10:00:00"
Payment Feedback (write operation, must add
--yes
; amount/bill fields from fee checking response):
openydt trade pay-park-fee --yes \
  --parking-code 180410135558832886170666 \
  --charge-date 20180411135558 --pay-date 20180411135658 \
  --act-pay-charge 3.2 \
  --pay-origin 9 --pay-origin-remark 微信 \
  --payment-mode 4 --payment-mode-remark 微信支付 \
  --bill-code 0