CoreCharge CloudShared Power Bank Platform
Request a Plan
Implementation answer · H5 payment and device UAT

How to test an H5 shared power bank payment, unlock, return and refund flow

CoreCharge Cloud provides this field-level acceptance guide for shared power bank operators, agents and brand owners validating a browser-first rental flow. Test QR context, terms and pricing, payment authorization, provider callback, cabinet unlock, active order, return recognition, fee stop, refund or authorization-release handling and dashboard evidence as one traceable chain.

Direct answer

An operator should accept an H5 shared power bank flow only when the same masked station, slot, power-bank, order and provider references can be followed from QR entry through payment callback, device result, active rental, return, fee stop and refund or support disposition. Each success and failure path needs an expected state, an observable record, an owner and a dated UAT decision. A button click, a payment screen or a cabinet light alone is not sufficient evidence.

This is an implementation and acceptance page, not a claim of worldwide payment coverage. It does not describe consumer wallet top-ups, ordinary portable-charger purchases, UPS systems or home energy storage.

H5, native App and hybrid acceptance roles

The renter channel can change while the device, order, payment and support evidence contract remains explicit.

ChannelPrimary roleDependencies to confirmMinimum acceptance evidence
H5 browser flowNo-app QR entry for a scoped renter journeyBrowser support, locale, terms, payment redirect or handoff, session recovery and support routeVersioned URLs or screenshots plus matched station, order, payment and device states
Native AppInstalled renter channel where App-specific functions are requiredStore build, account flow, permissions, deep links, payment route and release ownershipBuild/version, tested device, route, expected/actual states and masked business references
HybridH5 and App channels sharing selected business servicesChannel handoff, identity/session rules, state parity and support ownershipThe same order/device outcome is readable across the channels included in the project scope

Acceptance boundary

CoreCharge does not claim that every H5 and App function is identical. The project UAT must identify which screens, payment routes, device commands and support actions are shared, channel-specific or not included.

Rental-state evidence chain

Each state should have an expected result, an observable record and an owner for exception handling.

StateRenter or system viewAcceptance fieldsEvidence owner
1. QR and station contextThe intended H5 route opens with the correct station and localestation_ref, route, locale, environment, timestampOperator UAT owner
2. Terms and pricingCurrency, pricing version, authorization/deposit rule, return rule and support entry are visible before confirmationpricing_version, currency, locale, terms versionOperator business owner
3. Payment initiationThe configured provider route opens or returns a readable errorpayment_attempt_ref, order draft, route, initiated timeMerchant/operator and integration owner
4. Authorization or charge resultA readable approved, declined, cancelled, pending or timeout state is returnedMasked provider reference, result class, amount/currency, received timeProvider/merchant evidence owner
5. Callback classificationThe business flow waits for the configured readable result and handles replay safelycallback_class, event reference, idempotency key, mapped order stateIntegration UAT owner
6. Unlock request and device resultThe cabinet releases one power bank or shows an actionable failureunlock_request_ref, station, slot, power-bank reference, acknowledgement, failure codeDevice integration owner
7. Active orderRental time, assigned device and return guidance are readableMasked order ID, device assignment, start time, pricing version, stateOperator/order owner
8. Return eventThe tested station identifies the returned device and slot, or records an exceptionreturn_event_ref, station, slot, device, received time, exceptionDevice and support owner
9. Order close and fee stopThe renter and dashboard show the configured final rental stateOrder transition, fee-stop event, final amount/currency, closure timeOrder and reconciliation owner
10. Refund or authorization-release handlingA known requested, pending, completed, declined, partial or manual-review state is shown when supportedrefund_ref, reason, amount/currency, provider state, ownerMerchant/provider and support owner
11. Support dispositionThe renter receives a case reference or next step without a timing guaranteeMasked case ID, linked business references, decision, reviewer, disposition timeOperator support owner

Field-name boundary

The code-style names above are UAT record labels, not a promise of a public API schema. Exact payload fields, provider semantics and device commands are confirmed for the selected project and evidence tier.

Payment and refund status evidence

Use these meanings as acceptance categories only after the selected provider, merchant entity and project route expose a readable result.

Acceptance categoryTrigger or meaningFields to retainOwner and evidence state
InitiatedThe renter starts the configured payment or authorization routeAttempt reference, order draft, amount/currency, route, initiated timeOperator/integration · CUSTOM_REVIEW_REQUIRED
Authorized or preauthorizedThe provider returns a readable authorization result where the project uses that modelMasked provider reference, authorized amount/currency, provider state, received timeMerchant/provider · CUSTOM_REVIEW_REQUIRED
Captured or chargedA readable charge/capture result is mapped to the intended business transitionMasked reference, amount/currency, callback class, mapped order stateMerchant/provider and order owner · CUSTOM_REVIEW_REQUIRED
Deposit or holdA project-specific hold/deposit state is displayed only when the route supports itRule version, masked reference, amount/currency, known provider stateMerchant/provider · CUSTOM_REVIEW_REQUIRED
Refund requestedAn operator or configured workflow creates a traceable requestReason, amount/currency, linked payment/order, request owner and timeOperator support · CUSTOM_REVIEW_REQUIRED
Provider pending or manual reviewNo final outcome is inferred while a readable request remains unresolvedKnown state, last reviewed time, owner, next action and masked referenceMerchant/provider and support · CUSTOM_REVIEW_REQUIRED
Completed, partial, declined or releasedThe final displayed category follows the readable provider result and operator policyResult class, amount/currency, result time, reviewer and reconciliation stateMerchant/provider and reconciliation owner · CUSTOM_REVIEW_REQUIRED

What this table does not prove

It does not prove PSP onboarding, merchant eligibility, settlement, a fixed refund time or availability in any country. Provider documentation and project evidence must identify applicability, version and last review date.

UAT record fields

Every scenario should be reproducible without publishing payment credentials or renter identity.

FieldRecordWhy it mattersPublic boundary
Scenario and expectationScenario ID, environment, precondition, expected business state and reviewerSeparates an intended test from an unexplained screenshotDo not present a test as a live-market guarantee
Rental contextLocale, currency, pricing version, deposit/authorization rule and support routeShows which displayed contract was actually testedProvider and legal conclusions remain external
Device chainMasked station, slot and power-bank references, command and acknowledgementConnects payment outcome to physical eject and return behaviorExact compatibility remains model-specific
Order chainMasked order ID, state transitions, start/end timestamps and exception codeShows whether one event created one controlled business transitionNo personal data or unrestricted logs
Payment chainMasked provider reference, callback class, authorization/charge/refund/release stateSupports idempotency and reconciliation reviewNo token, credential or provider approval claim
Evidence and dispositionTimestamp/timezone, redacted screenshot or log, owner, actual result and final dispositionMakes the exception review auditableRedact contact and payment secrets

Six UAT steps

Run positive and negative scenarios in a controlled environment before making a public launch claim.

  1. Lock the environment and configuration

    Record market, URL or App build, station model, firmware, device protocol, payment route, pricing version and test owner.

  2. Verify QR and session context

    Open a fresh session and a returning session. Confirm the route keeps station, language and intended renter context without exposing secrets.

  3. Exercise authorization and unlock

    Test approved, declined, cancelled, timeout, duplicate callback, no available battery and unlock-failure paths separately.

  4. Verify return and closure

    Test normal return, wrong station if applicable, full station, unreadable device, delayed event and a return event received after support intervention.

  5. Review refund-support handling

    Confirm the workflow can distinguish requested, under review, provider pending, completed, declined and manual follow-up states when the integration supports them.

  6. Package redacted acceptance evidence

    Store expected versus actual state, masked identifiers, timestamp and timezone, relevant redacted fields, screenshot, reviewer and disposition.

Ten minimum UAT cases

Run each case with dated expected/actual evidence. Provider-specific actions remain subject to merchant and project confirmation.

CaseControlled actionExpected evidenceFailure owner
UAT-H5-01 · QR contextOpen a valid code in a fresh browser sessionCorrect station, locale, environment and terms/pricing versionOperator configuration owner
UAT-H5-02 · Invalid or stale QROpen an invalid, disabled or mismatched routeNo rental starts; an actionable error and support path are shownOperator/support owner
UAT-PAY-01 · Decline or cancelUse the provider-approved test path for a non-approved resultReadable failure/cancel state; no unlock request and no active orderMerchant/provider and integration owner
UAT-PAY-02 · Readable success callbackUse the approved test route for the intended positive resultOne mapped business transition linked to the masked provider and order referencesIntegration/order owner
UAT-DEV-01 · Payment success, no ejectExercise a controlled unavailable/offline/timeout device conditionPayment, callback, order, unlock command and device failure remain separate and traceableDevice integration and support owner
UAT-PAY-03 · Duplicate callbackReplay the same provider event in the test environmentOne business transition, no second unlock command and an auditable duplicate recordIntegration owner
UAT-ORD-01 · Active rentalComplete the configured positive unlock pathOne assigned power bank, readable start time, pricing version and active order stateOrder/device owner
UAT-RET-01 · Normal returnReturn the assigned device to an accepted station/slotReturn event, linked device/order, fee-stop event and closure stateDevice/order owner
UAT-RET-02 · Return exceptionExercise a controlled full/offline/unrecognized return pathNo false closure; last-known event, case owner and reconciliation path are recordedDevice/support owner
UAT-REF-01 · Refund or release handlingCreate an allowed test request after a defined exceptionRequested/pending/final state, amount/currency, owner and linked masked references without a timing promiseMerchant/provider and support owner

Abnormal-order coverage

A useful UAT pack proves that failures remain readable and do not become false success events.

PaymentDecline, cancel, timeout and duplicate callback

Confirm one provider reference creates at most one business transition and never a second eject command.

DevicePayment success but no eject, no battery or offline station

Keep payment, order, command, acknowledgement and support states distinguishable.

ReturnOffline return, full station, wrong device and unrecognized insertion

Preserve the last-known event and create a reconciliation path instead of promising automatic closure.

RefundPending, declined, partial and manual review

Display the known status and owner; do not guarantee the provider's final outcome or timing.

NetworkOffline, retry and unreadable response

Do not treat an opaque, invalid or missing response as business success.

SupportOne case, one audit trail

Link the masked order, device, station, renter contact channel and decision history without exposing personal data publicly.

Redaction boundary

Do not publish payment tokens, account credentials, full order/device identifiers, renter names, phone numbers, email addresses or unrestricted logs. Screenshots and payload excerpts must be purpose-limited and redacted.

Field-level evidence anchors

This public page defines what a buyer should request and review. It does not publish client records or claim a live provider deployment.

H5 viewQR, terms, pricing and result screens

Fields: environment, URL/build, locale, pricing/terms version, station context and captured time.
Status: CUSTOM_REVIEW_REQUIRED · Owner: operator product owner · Date: project test date.

PaymentMasked request, result and callback mapping

Fields: provider/merchant applicability, masked reference, amount/currency, result class, callback class and mapped order state.
Status: CUSTOM_REVIEW_REQUIRED · Owner: merchant/provider and integration owner · Date: project test date.

Device ejectUnlock request and cabinet response

Fields: station, slot, power-bank reference, request, acknowledgement, timeout/failure code and firmware/protocol version.
Status: CUSTOM_REVIEW_REQUIRED · Owner: device integration owner · Date: project test date.

ReturnReturn event, fee stop and order closure

Fields: station/slot, returned device, event time, order transition, fee-stop record and exception state.
Status: CUSTOM_REVIEW_REQUIRED · Owner: device/order owner · Date: project test date.

Refund/supportRequest, provider state and disposition

Fields: reason, amount/currency, masked linked references, known result, support owner, review time and final disposition.
Status: CUSTOM_REVIEW_REQUIRED · Owner: merchant/provider and operator support · Date: project test date.

Acceptance packExpected versus actual with reviewer decision

Fields: case ID, version, precondition, expected/actual state, timestamp/timezone, redacted screenshot/log, pass/fail and reviewer.
Status: CUSTOM_REVIEW_REQUIRED · Owner: named UAT lead · Date: acceptance review date.

Evidence-tier boundary

Only evidence with a stated environment, version, date, owner and public authorization can be described as verified public. Internal records remain internal; provider and market applicability stays custom-review-required until the selected merchant route is documented and tested.

H5, payment and UAT FAQ

These answers describe validation method, not payment-provider approval or market compliance.

Can an H5 rental flow work without a native App?

An H5 flow can support a browser-first scan-to-rent journey when the tested market, payment route, device protocol and support process work together. This does not mean H5 is always preferable or that every App function is available in a browser.

What should happen if payment succeeds but the cabinet does not eject a power bank?

Keep the payment result, dispense command, cabinet response, order state and support owner separate. Create a traceable exception instead of marking the rental successful or promising an automatic refund.

How should duplicate payment callbacks be tested?

Replay the same masked provider reference and confirm idempotency: one business transition, no second eject command and an auditable duplicate-event record.

When should charging stop after a power bank is returned?

The tested order should stop according to the configured readable return event and order-closing rule. A physical insertion alone is not sufficient when the system has not recognized the return.

Who controls refund or deposit-release timing?

The displayed state depends on the operator workflow, selected provider and readable integration result. CoreCharge does not guarantee provider approval, settlement or a universal refund or authorization-release time.

What evidence should an H5 payment and refund UAT retain?

Retain a scenario ID, expected and actual state, timestamp and timezone, masked station, slot, device, order and provider references, callback classification, owner, screenshot or redacted log and final disposition.

Can H5 and a native App use the same rental backend?

They can share selected device, order, payment and support services when the project is configured that way. UAT must still prove channel handoff, state parity and which screens or actions remain H5-specific or App-specific.

What must be tested before an H5 rental pilot goes live?

At minimum test QR context, terms and pricing, decline or cancel, readable payment result, payment success with no eject, duplicate callback, active rental, normal return, return exception and refund or authorization-release handling. Record expected and actual evidence for each case.

Define a testable rental and support contract.

Share the country, merchant entity, proposed PSP and currency, rental/pricing rules, station SKU and protocol, H5/App scope, refund policy, UAT environment and required exception states. These inputs define the review scope; they do not establish provider approval.