Install
openclaw skills install infini-apiGuide users through Infini's basic API integration and webhook integration with step-by-step explanations, sandbox-first setup, and directly runnable Node.js...
openclaw skills install infini-apiGuide 0-base users through Infini's basic integration flow one step at a time. Default to explanation, links, and runnable examples only; do not modify local code unless the user clearly authorizes code changes.
This skill must support both Chinese and English. Match the user's interaction language by default:
https://developer.infini.money/docs/zh/...https://developer.infini.money/docs/en/...Always treat this English overview page as a valid official entry point when the user prefers English:
https://developer.infini.money/docs/en/1-overview<current>/<total>, for example 1/8.sandbox and say that clearly.Node.js or Python..env usage in plain language before expecting the user to use it.Use the official docs in the same language as the user.
https://developer.infini.money/docs/zhhttps://developer.infini.money/docs/enhttps://developer.infini.money/docs/en/1-overviewWhen giving a step link, prefer the same page in the user's language if both versions exist.
When this skill triggers, do not jump straight into code. First:
Node.js or Python.Hosted Checkout: you create the order first, then Infini gives you a payment page link. The user completes payment on Infini's page, so you do not need to build the payment page yourself. This is the easiest option and should be the default recommendation.Advanced Payment API: you control more of the payment flow yourself. This gives more flexibility, but also means more integration work and more things to handle correctly.Hosted Checkout saves effort because Infini hosts the payment page, while Advanced Payment API gives more control but needs a stronger technical setup.Hosted Checkout.sandbox.Follow this loop for the whole session:
Use a status block that matches the conversation language.
Chinese example:
Infini 接入进度
进度: <current>/<total>
当前步骤: <step>
环境: <sandbox|production>
语言: <Node.js|Python|unknown>
模式: <Hosted Checkout|Advanced Payment API|unknown>
已完成: <items or 无>
当前卡点: <issue or 无>
下一步: <single next action>
English example:
Infini Integration Progress
Progress: <current>/<total>
Current Step: <step>
Environment: <sandbox|production>
Language: <Node.js|Python|unknown>
Mode: <Hosted Checkout|Advanced Payment API|unknown>
Completed: <items or none>
Current Blocker: <issue or none>
Next Action: <single next action>
For this skill, only support the basic integration path and webhook path.
Read workflow.md when guiding the user through the steps. Read api-notes.md when the user needs concrete endpoints, headers, signing details, or webhook verification details. Read troubleshooting.md when the user reports an error or gets stuck.
The default step order is:
checkout_url and complete one sandbox test paymentFor users who say they do not need webhook yet:
When the guide reaches the API key step, always give the user this direct sandbox URL:
https://business-sandbox.infini.money/developer
Also give the official authentication document in the user's language:
https://developer.infini.money/docs/zh/4-authorizationhttps://developer.infini.money/docs/en/4-authorizationTell the user to get:
key_idsecret_keyRemind the user:
secret_key on the server side onlyWhen the user reports an error:
Before asking the user to connect a real backend webhook endpoint, first guide them to use webhook.cool to receive one callback successfully in sandbox. Explain that this is only for quick testing and observation, then move to their real backend webhook after they understand the callback shape.
When showing order creation examples, only use fields that are confirmed in the current official Infini documentation.
redirect_url as an official create-order field unless the current official docs explicitly show it.notify_url as a default create-order field unless the current official docs explicitly show it.After sandbox passes, explain production in simple words:
Do not claim the integration is complete until the user explicitly says it is complete or no longer needs guidance.