Promptpay Integration
Skill Profile
(Select at least one profile to enable specific modules)
Overview
PromptPay is Thailand's standard QR Code payment system developed by NPCI under the Bank of Thailand's supervision. It supports receiving payments through all mobile banking apps using the EMVCo standard QR Code format.
Why This Matters
- Universal: Supported by all banks in Thailand
- No Fee: No transaction fees for personal accounts
- Instant: Funds received immediately
- Mobile First: Optimized for mobile commerce
Core Concepts & Rules
1. Core Principles
- Follow established patterns and conventions
- Maintain consistency across codebase
- Document decisions and trade-offs
2. Implementation Guidelines
- Start with the simplest viable solution
- Iterate based on feedback and requirements
- Test thoroughly before deployment
Inputs / Outputs / Contracts
- Inputs:
- PromptPay ID (phone number or National ID)
- Payment amount
- Reference numbers
- Biller code (for business accounts)
- Entry Conditions:
- PromptPay ID registered with bank
- Bank API credentials (for biller payments)
- Webhook endpoint configured
- Outputs:
- QR code image (PNG/Data URL)
- QR raw data string
- Transaction ID
- Payment status
- Artifacts Required (Deliverables):
- QR code generation function
- Webhook handler
- Payment verification logic
- React component for display
- Acceptance Evidence:
- QR code scans successfully with banking apps
- Payment confirmation received via webhook
- Order status updated correctly
- Success Criteria:
- QR code generation < 500ms
- Payment confirmation < 5 minutes
- Webhook signature verification 100%
Skill Composition
- Depends on: Bank API access, webhook infrastructure, database for payment tracking
- Compatible with: E-commerce platforms, billing systems, POS systems
- Conflicts with: Other QR payment standards (non-EMVCo)
- Related Skills: thai-bank-apis
Quick Start / Implementation Example
- Review requirements and constraints
- Set up development environment
- Implement core functionality following patterns
- Write tests for critical paths
- Run tests and fix issues
- Document any deviations or decisions
# Example implementation following best practices
def example_function():
# Your implementation here
pass
Assumptions / Constraints / Non-goals
- Assumptions:
- Development environment is properly configured
- Required dependencies are available
- Team has basic understanding of domain
- Constraints:
- Must follow existing codebase conventions
- Time and resource limitations
- Compatibility requirements
- Non-goals:
- This skill does not cover edge cases outside scope
- Not a replacement for formal training
Compatibility & Prerequisites
- Supported Versions:
- Python 3.8+
- Node.js 16+
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Required AI Tools:
- Code editor (VS Code recommended)
- Testing framework appropriate for language
- Version control (Git)
- Dependencies:
- Language-specific package manager
- Build tools
- Testing libraries
- Environment Setup:
.env.example keys: API_KEY, DATABASE_URL (no values)
Test Scenario Matrix (QA Strategy)
| Type |
Focus Area |
Required Scenarios / Mocks |
| Unit |
Core Logic |
Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |
| Integration |
DB / API |
All external API calls or database connections must be mocked during unit tests |
| E2E |
User Journey |
Critical user flows to test |
| Performance |
Latency / Load |
Benchmark requirements |
| Security |
Vuln / Auth |
SAST/DAST or dependency audit |
| Frontend |
UX / A11y |
Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |
Technical Guardrails & Security Threat Model
1. Security & Privacy (Threat Model)
- Top Threats: Injection attacks, authentication bypass, data exposure
2. Performance & Resources
3. Architecture & Scalability
4. Observability & Reliability
Agent Directives & Error Recovery
(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)
- Thinking Process: Analyze root cause before fixing. Do not brute-force.
- Fallback Strategy: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.
- Self-Review: Check against Guardrails & Anti-patterns before finalizing.
- Output Constraints: Output ONLY the modified code block. Do not explain unless asked.
Definition of Done (DoD) Checklist
Anti-patterns / Pitfalls
- ⛔ Don't: Log PII, catch-all exception, N+1 queries
- ⚠️ Watch out for: Common symptoms and quick fixes
- 💡 Instead: Use proper error handling, pagination, and logging
Reference Links & Examples
- Internal documentation and examples
- Official documentation and best practices
- Community resources and discussions
Versioning & Changelog
- Version: 1.0.0
- Changelog:
- 2026-02-22: Initial version with complete template structure
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: promptpay-integration3description: PromptPay is Thailand's standard QR Code payment system developed by Use when this capability is needed.4---56# Promptpay Integration78## Skill Profile9*(Select at least one profile to enable specific modules)*10- [ ] **DevOps**11- [x] **Backend**12- [ ] **Frontend**13- [ ] **AI-RAG**14- [ ] **Security Critical**1516## Overview17PromptPay is Thailand's standard QR Code payment system developed by NPCI under the Bank of Thailand's supervision. It supports receiving payments through all mobile banking apps using the EMVCo standard QR Code format.1819## Why This Matters20- **Universal**: Supported by all banks in Thailand21- **No Fee**: No transaction fees for personal accounts22- **Instant**: Funds received immediately23- **Mobile First**: Optimized for mobile commerce2425---2627## Core Concepts & Rules2829### 1. Core Principles30- Follow established patterns and conventions31- Maintain consistency across codebase32- Document decisions and trade-offs3334### 2. Implementation Guidelines35- Start with the simplest viable solution36- Iterate based on feedback and requirements37- Test thoroughly before deployment383940## Inputs / Outputs / Contracts41* **Inputs**:42 - PromptPay ID (phone number or National ID)43 - Payment amount44 - Reference numbers45 - Biller code (for business accounts)46* **Entry Conditions**:47 - PromptPay ID registered with bank48 - Bank API credentials (for biller payments)49 - Webhook endpoint configured50* **Outputs**:51 - QR code image (PNG/Data URL)52 - QR raw data string53 - Transaction ID54 - Payment status55* **Artifacts Required (Deliverables)**:56 - QR code generation function57 - Webhook handler58 - Payment verification logic59 - React component for display60* **Acceptance Evidence**:61 - QR code scans successfully with banking apps62 - Payment confirmation received via webhook63 - Order status updated correctly64* **Success Criteria**:65 - QR code generation < 500ms66 - Payment confirmation < 5 minutes67 - Webhook signature verification 100%6869## Skill Composition70* **Depends on**: Bank API access, webhook infrastructure, database for payment tracking71* **Compatible with**: E-commerce platforms, billing systems, POS systems72* **Conflicts with**: Other QR payment standards (non-EMVCo)73* **Related Skills**: [thai-bank-apis](file://90-thai-integrations/thai-bank-apis/SKILL.md)7475---7677## Quick Start / Implementation Example78791. Review requirements and constraints802. Set up development environment813. Implement core functionality following patterns824. Write tests for critical paths835. Run tests and fix issues846. Document any deviations or decisions8586```python87# Example implementation following best practices88def example_function():89 # Your implementation here90 pass91```929394## Assumptions / Constraints / Non-goals9596* **Assumptions**:97 - Development environment is properly configured98 - Required dependencies are available99 - Team has basic understanding of domain100* **Constraints**:101 - Must follow existing codebase conventions102 - Time and resource limitations103 - Compatibility requirements104* **Non-goals**:105 - This skill does not cover edge cases outside scope106 - Not a replacement for formal training107108109## Compatibility & Prerequisites110111* **Supported Versions**:112 - Python 3.8+113 - Node.js 16+114 - Modern browsers (Chrome, Firefox, Safari, Edge)115* **Required AI Tools**:116 - Code editor (VS Code recommended)117 - Testing framework appropriate for language118 - Version control (Git)119* **Dependencies**:120 - Language-specific package manager121 - Build tools122 - Testing libraries123* **Environment Setup**:124 - `.env.example` keys: `API_KEY`, `DATABASE_URL` (no values)125126127## Test Scenario Matrix (QA Strategy)128129| Type | Focus Area | Required Scenarios / Mocks |130| :--- | :--- | :--- |131| **Unit** | Core Logic | Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |132| **Integration** | DB / API | All external API calls or database connections must be mocked during unit tests |133| **E2E** | User Journey | Critical user flows to test |134| **Performance** | Latency / Load | Benchmark requirements |135| **Security** | Vuln / Auth | SAST/DAST or dependency audit |136| **Frontend** | UX / A11y | Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |137138139## Technical Guardrails & Security Threat Model140141### 1. Security & Privacy (Threat Model)142* **Top Threats**: Injection attacks, authentication bypass, data exposure143- [ ] **Data Handling**: Sanitize all user inputs to prevent Injection attacks. Never log raw PII144- [ ] **Secrets Management**: No hardcoded API keys. Use Env Vars/Secrets Manager145- [ ] **Authorization**: Validate user permissions before state changes146147### 2. Performance & Resources148- [ ] **Execution Efficiency**: Consider time complexity for algorithms149- [ ] **Memory Management**: Use streams/pagination for large data150- [ ] **Resource Cleanup**: Close DB connections/file handlers in finally blocks151152### 3. Architecture & Scalability153- [ ] **Design Pattern**: Follow SOLID principles, use Dependency Injection154- [ ] **Modularity**: Decouple logic from UI/Frameworks155156### 4. Observability & Reliability157- [ ] **Logging Standards**: Structured JSON, include trace IDs `request_id`158- [ ] **Metrics**: Track `error_rate`, `latency`, `queue_depth`159- [ ] **Error Handling**: Standardized error codes, no bare except160- [ ] **Observability Artifacts**:161 - **Log Fields**: timestamp, level, message, request_id162 - **Metrics**: request_count, error_count, response_time163 - **Dashboards/Alerts**: High Error Rate > 5%164165166## Agent Directives & Error Recovery167*(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)*168169- **Thinking Process**: Analyze root cause before fixing. Do not brute-force.170- **Fallback Strategy**: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.171- **Self-Review**: Check against Guardrails & Anti-patterns before finalizing.172- **Output Constraints**: Output ONLY the modified code block. Do not explain unless asked.173174175## Definition of Done (DoD) Checklist176177- [ ] Tests passed + coverage met178- [ ] Lint/Typecheck passed179- [ ] Logging/Metrics/Trace implemented180- [ ] Security checks passed181- [ ] Documentation/Changelog updated182- [ ] Accessibility/Performance requirements met (if frontend)183184185## Anti-patterns / Pitfalls186187* ⛔ **Don't**: Log PII, catch-all exception, N+1 queries188* ⚠️ **Watch out for**: Common symptoms and quick fixes189* 💡 **Instead**: Use proper error handling, pagination, and logging190191192## Reference Links & Examples193194* Internal documentation and examples195* Official documentation and best practices196* Community resources and discussions197198199## Versioning & Changelog200201* **Version**: 1.0.0202* **Changelog**:203 - 2026-02-22: Initial version with complete template structure204205---206> Converted and distributed by [TomeVault](https://tomevault.io/claim/amnadtaowsoam) — claim your Tome and manage your conversions.207<!-- tomevault:4.0:skill_md:2026-04-13 -->