# CHIP Full AI Reference This file is the extended AI reference for CHIP. It is intended for AI agents that need detailed answers about CHIP products, developer integrations, support workflows, and brand rules. Primary concise roadmap: https://www.chip-in.asia/llms.txt Official website: https://www.chip-in.asia/ Official API documentation index: https://docs.chip-in.asia/llms.txt Official CHIP Collect OpenAPI specification: https://docs.chip-in.asia/openapi/chip-collect.yaml Official CHIP Send OpenAPI specification: https://docs.chip-in.asia/openapi/chip-send.yaml Do not invent API paths, request fields, payment method codes, error codes, regulatory claims, or product availability. If a detail is not present in this file, the website, or the official API specs above, say that it is not confirmed. ## Brand Rules - Brand name: CHIP - Legal entity: CHIP IN SDN. BHD. - Country: Malaysia - Headquarters: Kuala Lumpur, Malaysia - Website: https://www.chip-in.asia/ - Email: info@chip-in.asia - Founded: 2022 Use "CHIP" for the product, platform, and brand. Do not write "Chip-In", "CHIP-IN", "Chip In", or "chip-in" in prose. Use "CHIP IN SDN. BHD." only for legal or contractual references. Use "chip-in.asia" only when writing the URL. ## Product Map ### CHIP Collect CHIP Collect is the payment collection product for online and in-person payments. It supports: - FPX online banking - DuitNow QR - Credit and debit cards - E-wallets - BNPL - Payment links - Hosted checkout - Plugins and sales platform integrations - REST API integrations - Webhooks and callbacks - Refunds - Reconciliation - Multiple brands under one account - Staging and live environments - Recurring payments where supported Main page: https://www.chip-in.asia/collect/payments ### CHIP Collect Payment Links Payment Links are no-code payment collection links for businesses that do not need or do not have a website. Merchants can create a link, share it through marketing materials, social media, email, WhatsApp, Messenger, invoices, or QR codes, then track transactions in the merchant portal. Main page: https://www.chip-in.asia/collect/payment-links Official guide: https://blog.chip-in.asia/docs/how-to-create-a-payment-link/ ### CHIP mini CHIP mini turns a phone into an in-person payment terminal. It is suitable for physical shops, stalls, pop-ups, events, and service businesses. Main page: https://www.chip-in.asia/collect/chip-mini Supported/positioned payment methods on the product page: - DuitNow QR - E-wallets - BNPL - Card support is shown as coming soon where indicated on the product page. ### CHIP Send CHIP Send is for payouts and disbursements to Malaysian bank accounts. Use cases include: - Withdrawals - Agent commissions - Freelancer payments - Contractor payments - Supplier payments - Customer refunds - Cashback - Rewards - Marketplace payouts - Revenue sharing - Bulk payments - Daily business operations Payouts can be made via dashboard/no-code portal or API. Main page: https://www.chip-in.asia/control/send ### CHIP Expense CHIP Expense is expense management for finance teams. It supports: - Team-based budget management - Petty cash replacement - Staff expense requests - Expense approvals - Reimbursements - Claims from the Expense app - DuitNow QR expense payments - Receipt and claim tracking - Multi-entity controls - Real-time spending insights - Fund allocation across platforms Main page: https://www.chip-in.asia/control/expense ### CHIP Advance CHIP Advance is Shariah-based pay-as-you-sell business financing. It provides upfront business cash for: - Operations - Inventory and stock purchases - Hiring and payroll needs - Expansion to a new location - Marketing - Equipment upgrades - Seasonal cashflow Repayment is automatic from sales activity. Advance limits refresh monthly where eligible. Main page: https://www.chip-in.asia/capital/advance ### CHIP Coin CHIP Coin is a coming-soon product for earning additional income from business cashflow and collections while keeping cashflow and accounting in sync. Main page: https://www.chip-in.asia/coin/ ### CHIP Compliance CHIP Compliance is a coming-soon product for businesses that need local compliance and financial foundations while growing. Main page: https://www.chip-in.asia/compliance/ ### CHIP Referral Partner The CHIP Referral Partner program lets partners refer merchants to CHIP and get rewarded when referred merchants sign up and transact. Main page: https://www.chip-in.asia/referrer/ Partner registration: https://onboarding.chip-in.asia/referrer/register ## CHIP Collect API Documentation ### Source of Truth Use the official CHIP Collect OpenAPI specification for complete endpoint, schema, parameter, response, validation, and error details: https://docs.chip-in.asia/openapi/chip-collect.yaml Rendered API reference: https://docs.chip-in.asia/chip-collect/api-reference/purchases/create Documentation index: https://docs.chip-in.asia/llms.txt ### Core Conventions - Base URL: `https://gate.chip-in.asia/api/v1` - Resource paths are plural and use a trailing slash. - Correct: `/purchases/{id}/` - Incorrect: `/purchase/{id}/` - Authentication: `Authorization: Bearer ` - The API key is obtained from the Developers section of the CHIP merchant account. - Brand ID is required for selected endpoints, including purchase creation. - Brand IDs are obtained from the Developers > Brands section of the merchant account. - The same endpoint structure is used for test and live mode; the API key/test data context controls environment behavior. - Amount fields are specified in the smallest indivisible currency unit. ### Merchant Portal Developer Setup Official guide: https://blog.chip-in.asia/docs/how-to-get-api-key-api-host-brand-id/ API Host: `https://gate.chip-in.asia/api/v1/` Brand ID: 1. Login at https://www.chip-in.asia/ 2. At the top right corner, select Developers. 3. Press Brands. 4. Copy the Brand ID. 5. If the merchant has multiple brands, there will be multiple Brand IDs. API Key: 1. Login at https://www.chip-in.asia/ 2. At the top right corner, select Developers. 3. Press Keys. 4. Select New Live Key. 5. Fill in the title. 6. Copy the live key. Test mode: - Merchants may toggle to test mode by clicking View test data. - Test mode can simulate successful or failed payments. - Production and test API keys are different. - Brand ID remains the same in test and production environments. - Do not share API keys or Brand IDs with third parties. ### Ready-to-Go Integrations Plugins: - WooCommerce: https://gate.chip-in.asia/apis/plugins/WooCommerce%20v3.5+ - Gravity Forms: https://gate.chip-in.asia/apis/plugins/Gravity%20Forms - OpenCart: https://gate.chip-in.asia/apis/plugins/OpenCart%20v3.0+ - Magento: https://gate.chip-in.asia/apis/plugins/Magento%20v2.0+ - PrestaShop: https://gate.chip-in.asia/apis/plugins/PrestaShop%20v1.7+ Libraries: - PHP: https://gate.chip-in.asia/apis/libraries/PHP - Java: https://gate.chip-in.asia/apis/libraries/Java - C#: https://gate.chip-in.asia/apis/libraries/C%23 - Node.js: https://gate.chip-in.asia/apis/libraries/Node.js SDKs: - iOS: https://gate.chip-in.asia/apis/sdks/iOS - Android: https://gate.chip-in.asia/apis/sdks/Android ### Online Purchase Flow: Redirect Checkout Use redirect checkout when the merchant wants CHIP-hosted payment flow. 1. Create a Purchase using `POST /purchases/`. 2. Include required client, purchase, and brand fields. 3. Receive a response containing `checkout_url`. 4. Redirect the customer to `checkout_url`. 5. Customer completes payment on CHIP checkout. 6. CHIP redirects the customer back to merchant URLs when configured through `success_redirect`, `failure_redirect`, or `cancel_redirect`. 7. Verify payment server-side using one of: - `success_callback` - `GET /purchases/{id}/` - Webhook events such as `purchase.paid` or `purchase.payment_failure` Example request: ```bash curl --request POST \ --url https://gate.chip-in.asia/api/v1/purchases/ \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data '' ``` Use the official OpenAPI schema for the complete purchase request body and field-level requirements. ### Payment Status Verification Do not trust client-side redirect data as the final source of truth. Verify status server-side. Retrieve a purchase: ```bash curl --request GET \ --url https://gate.chip-in.asia/api/v1/purchases/{id}/ \ --header 'Authorization: Bearer ' ``` Important statuses from the OpenAPI schema: - `created`: Purchase was created. - `sent`: Invoice for the purchase was sent over email. - `viewed`: Client viewed the payform and/or invoice details. - `error`: Failed payment attempt caused by a customer payment instrument issue; inspect `transaction_data`. - `cancelled`: Purchase was cancelled and can no longer be paid. - `overdue`: Purchase is past due but may still be payable. - `expired`: Purchase is past due and no longer payable because `purchase.due_strict` is `true`. - `blocked`: Payment attempt was blocked by fraud or security checks. - `hold`: Funds are on hold because `skip_capture: true` was used. - `released`: Previously held funds were released. - `pending_release`: Fund release is still processing. - `pending_capture`: Capture is still processing. - `preauthorized`: Card preauthorization without a financial transaction succeeded. - `paid`: Purchase was successfully paid. - `pending_execute`: Payment or hold is processing. - `pending_charge`: Recurring payment is processing. - `cleared`: Funds were transferred for clearing in payment card network. - `settled`: Settlement was issued. - `chargeback`: Chargeback was registered. - `pending_refund`: Refund is processing. - `refunded`: Payment was fully or partially refunded. ### Test Cards For successful test payments: - Non-3D Secure card: `4444 3333 2222 1111` - 3D Secure card: `5555 5555 5555 4444` For both cards: - Cardholder name: any Latin cardholder name - Expiry: any expiry date greater than or equal to current month/year - CVC: `123` For failed test payments: - Change the CVC or expiration date. - In S2S checkout with a 3D Secure enrolled card, an incorrect CVC triggers authorization failure on the S2S callback step after return from test ACS. - A wrong expiry date emulates validation failure and results in an immediate error. ### Direct Post and Custom Payment Flow Direct Post allows a merchant-hosted payment form while posting card details directly to CHIP. Flow: 1. Create a Purchase using `POST /purchases/`. 2. Read `direct_post_url` from the Purchase response. 3. Create an HTML form on the merchant website: - `method="POST"` - `action=""` 4. Include card detail inputs in the form. 5. Customer submits the form. 6. Card details are posted directly to CHIP. PCI note: - Merchant systems do not receive or process card data directly. - PCI DSS requirement is raised to SAQ A-EP. - Direct Post activation is per merchant account. Consult the account manager if unavailable. ### Skip Capture, Preauthorization, Tokenization, and Recurring Payments `skip_capture: true` separates payment authentication from execution. Use cases: - Reserve funds on a card for later capture or release. - Preauthorize card data without a financial transaction when supported. - Tokenize and store card details for future use where supported. Preauthorization/tokenization note: - `skip_capture: true` can be used for supported preauthorization and card-storage flows. Use the official OpenAPI schema for exact request-body requirements. Recurring token flow: 1. Initial Purchase stores card token where supported. 2. Initial Purchase ID serves as the card token. 3. Create a new Purchase for a future payment. 4. Call `POST /purchases/{new_purchase_id}/charge/`. 5. Provide `"recurring_token": "initial_purchase_id"`. 6. On success, the new Purchase becomes paid. 7. Use the same recurring token for future charges. 8. Delete a recurring token with `POST /purchases/{initial_purchase_id}/delete_recurring_token/`. ### Payment Method Whitelist Use `payment_method_whitelist` to restrict available payment methods on a purchase. Important: - Check `GET /payment_methods/` for available methods for the intended `brand_id`, currency, and request context. - Combining `payment_method_whitelist` with capabilities such as `skip_capture` or recurring charges may create a validation error if no method supports the required capability. - Use payment method names returned by `GET /payment_methods/`. Payment method codes shown in the OpenAPI schema include: - `fpx` - `fpx_b2b1` - `crypto_coin` - `dnqr` - `duitnow_qr` - `maestro` - `mastercard` - `mpgs_apple_pay` - `mpgs_google_pay` - `razer_atome` - `razer_grabpay` - `razer_maybankqr` - `razer_shopeepay` - `razer_tng` - `shopee_pay` - `visa` ### List Payment Methods Endpoint: `GET /payment_methods/` Minimum query parameters: - `brand_id` - `currency` Use the same API key that will create the Purchase because it defines test/live mode lookup context. Example pattern: ```bash curl --request GET \ --url 'https://gate.chip-in.asia/api/v1/payment_methods/?brand_id=75a76529-91c7-4d98-90a9-8a641d70ee52¤cy=' \ --header 'Authorization: Bearer ' ``` The response contains `available_payment_methods`. These values can be used in: - `payment_method_whitelist` - `checkout_url?preferred={payment_method}` ### Redirect URLs and Callbacks Purchase URL fields: - `success_redirect`: Customer is redirected here after successful payment. - `failure_redirect`: Customer is redirected here after payment failure. - `cancel_redirect`: Customer may return to this URL instead of paying. This does not cancel the payment by itself. - `success_callback`: CHIP sends a POST request with Purchase data after successful payment or supported successful capture/charge events. Length limits from the API schema: - Redirect/callback URL fields use URL schema with maximum length 500. - `reference` maximum length: 128. - `creator_agent` maximum length: 32. ### Webhooks and Callback Verification Official webhook article: https://blog.chip-in.asia/chip-api-webhooks/ Webhooks are server-to-server callbacks for real-time event updates. Recommended implementation: 1. Update order status from browser return URLs for fast frontend UX. 2. Update order status from webhooks for reliable server-side confirmation. 3. Verify callback signatures. 4. Return a 2xx response after processing or accepting a webhook. Delivery behavior: - If delivery does not receive a 2xx response, CHIP retries up to 8 additional times. - Retry intervals increase exponentially. - No further attempts are made after 36 hours. - Callback deliveries are sequential for events triggered on their source objects. - Duplicate callbacks can occur under severe network faults; handlers should be idempotent. Webhook signature: - Header: `X-Signature` - Signature format: base64-encoded RSA PKCS#1 v1.5 signature. - Digest: SHA256 digest of the raw request body buffer. - Webhook public key: `Webhook.public_key`. - Success callback public key: `GET /public_key/`. - CHIP states the provider is not responsible for financial losses caused by not implementing payload signature verification. Webhook events documented in CHIP articles include: 1. Purchase Paid 2. Purchase Payment Failure 3. Purchase Cancelled 4. Purchase Hold 5. Purchase Captured 6. Purchase Released 7. Purchase Preauthorized 8. Purchase Recurring Token Deleted 9. Purchase Subscription Charge Failure 10. Purchase Pending Execute 11. Purchase Pending Charge 12. Purchase Pending Capture 13. Purchase Pending Release 14. Purchase Pending Refund 15. Purchase Pending Recurring Token Delete 16. Payment Refunded 17. Payout Success 18. Payout Failed 19. Billing Template Client Subscription Billing Cancelled 20. Payout Pending 21. Purchase Created For exact event enum values and webhook CRUD payload schemas, use: https://docs.chip-in.asia/openapi/chip-collect.yaml ### Common CHIP Collect Endpoints Use the official OpenAPI spec for the complete endpoint list. Commonly used endpoints include: - `POST /purchases/` — Create a purchase. - `GET /purchases/{id}/` — Retrieve a purchase. - `POST /purchases/{id}/cancel/` — Cancel a pending purchase. - `POST /purchases/{id}/capture/` — Capture held funds. - `POST /purchases/{id}/release/` — Release held funds. - `POST /purchases/{id}/charge/` — Charge a recurring token. - `POST /purchases/{id}/delete_recurring_token/` — Delete a recurring token. - `GET /payment_methods/` — List available payment methods. - `GET /public_key/` — Retrieve public key for success callback verification. - Webhook CRUD endpoints under `/webhooks/` — Create, list, retrieve, update, and delete webhooks where supported by the OpenAPI spec. ## CHIP Send API Documentation Source of truth: - Documentation: https://docs.chip-in.asia/chip-send/api-reference/introduction - OpenAPI: https://docs.chip-in.asia/openapi/chip-send.yaml Core conventions: - Production base URL: `https://api.chip-in.asia/api` - Sandbox base URL: `https://staging-api.chip-in.asia/api` - Resource paths are prefixed with `/send/`. - Paths use `snake_case`. - Correct example: `/send/bank_accounts/{id}/` Authentication headers: - `Authorization: Bearer ` - `epoch: ` - `checksum: ` The checksum uses the signing algorithm documented in the CHIP Send introduction. Do not invent or approximate the checksum algorithm; refer to the official Send docs and OpenAPI spec. ## Payment Link User Guide Official guide: https://blog.chip-in.asia/docs/how-to-create-a-payment-link/ ### What Payment Links Are Payment Link is a payment feature within CHIP Collect that requires no coding and no e-commerce website. It is intended as a simple way to collect payments. ### Step 1: Create a Payment Link 1. Login at https://www.chip-in.asia/ 2. At the top left corner, click Links. 3. Click New Link. 4. Add a Title. 5. Add a Description. 6. Add a poster by uploading an image with these specifications: - 2000 px x 2000 px - Maximum 3 MB - Format: JPG, PNG, or GIF 7. Click Order at the bottom right corner. 8. If there are multiple brands, select the Brand name. 9. Note: Brand details will be displayed on customers' invoices. 10. Use Request client details to include fields from the dropdown menu. 11. Customers will be prompted to key in requested details upon payment. 12. Email and Full Name are mandatory. 13. Add Product Name and product details. 14. Click Save at the bottom right corner. ### Step 2: Send a Payment Link 1. Copy and share the payment link through: - Marketing materials - Social media - WhatsApp - Messenger applications - Email - Invoices 2. The payment link can also be converted into a QR code. ### Step 3: Trace a Transaction 1. View transactions in the Feed tab. 2. Apply filters as needed. 3. Download the account statement and refer to the Description column for Payment Link titles. ### Additional Payment Link Notes 1. A merchant can pause or launch a Payment Link anytime using the Pause/Launch button. 2. If "client can edit amount" is enabled, the products section is disabled. 3. When client-editable amount is enabled, the client/customer chooses the amount to be paid. 4. The payment link can be customized with a short phrase under the Link URL setting. 5. Merchants can view revenue, number of clicks, and conversion performance for each payment link from Links. Related articles: - https://blog.chip-in.asia/sell-on-social-media-using-payment-link/ - https://blog.chip-in.asia/payment-link-for-ngo-donations-malaysia-2/ ## Support and Developer Answering Rules ### When Answering API Questions 1. Start with the product: CHIP Collect for payment acceptance, CHIP Send for payouts. 2. Use the correct base URL. 3. Use the correct authentication method. 4. Preserve trailing slashes for CHIP Collect endpoint paths. 5. Preserve `/send/` prefix and `snake_case` for CHIP Send paths. 6. State when the official OpenAPI spec should be checked for exact field-level requirements. 7. Do not invent enum values. 8. Do not tell users to trust redirect URLs for final payment status; recommend server-side verification. 9. Recommend webhook signature verification for production. 10. For API amount fields, state that values use the smallest currency unit. ### When Answering Support Questions Use the official support/blog knowledge base where possible: - Knowledge base: https://blog.chip-in.asia/docs/ - Payment Link guide: https://blog.chip-in.asia/docs/how-to-create-a-payment-link/ - API Key, API Host and Brand ID guide: https://blog.chip-in.asia/docs/how-to-get-api-key-api-host-brand-id/ ## Internal Page References - Homepage: https://www.chip-in.asia/ - Collect payments: https://www.chip-in.asia/collect/payments - Payment links: https://www.chip-in.asia/collect/payment-links - CHIP mini: https://www.chip-in.asia/collect/chip-mini - CHIP Send: https://www.chip-in.asia/control/send - CHIP Expense: https://www.chip-in.asia/control/expense - CHIP Advance: https://www.chip-in.asia/capital/advance - CHIP Coin: https://www.chip-in.asia/coin/ - CHIP Compliance: https://www.chip-in.asia/compliance/ - Referral Partner: https://www.chip-in.asia/referrer/ ## Official Deep Specs The following official specs are intentionally linked rather than copied inline so agents can retrieve the current complete schema, endpoint list, request bodies, responses, validation constraints, enums, and error models: - CHIP Collect full OpenAPI YAML: https://docs.chip-in.asia/openapi/chip-collect.yaml - CHIP Send full OpenAPI YAML: https://docs.chip-in.asia/openapi/chip-send.yaml If an AI agent needs field-by-field API details, it should load the OpenAPI YAML directly and treat it as authoritative over prose summaries.