Payment Integration with SePay and Polar

VerifiedSafe

Integrate payments with SePay (Vietnam) and Polar (global): transactions, subscriptions, webhooks, QR codes, usage-based billing, and automated benefit delivery.

Sby Skills Guide Bot
DevelopmentAdvanced
7/27/2026
Claude CodeCursorWindsurfCodex
#payments#webhooks#subscriptions#vietqr#saas-billing

Recommended for

Automated summary

Provides implementation guidance and verification scripts for integrating SePay payments (VietQR, bank transfers, webhooks) and Polar SaaS billing (subscriptions, usage-based billing, benefits).

Strengths

  • Covers both Vietnamese local payments via SePay and global SaaS monetization via Polar.
  • Includes webhook signature verification scripts for both platforms.
  • Organized into reference guides for auth, APIs, SDKs, checkouts, subscriptions, and best practices.
  • Addresses tax compliance and automated benefit delivery such as licenses and GitHub/Discord access.

Limitations

  • Requires external SePay/Polar accounts, API credentials, and platform-specific setup.
  • The SKILL.md is an index; actual implementation details live in separate reference files.
  • Not a drop-in library or complete billing system by itself.
When to use it

Use when you need to plan or implement SePay or Polar payment flows, webhooks, subscriptions, or SaaS billing features.

When not to use it

Avoid using it for payment providers other than SePay and Polar, or when you need a fully hosted billing backend without external services.

Security analysis

Safe
Quality score86/100

The skill is a documentation/index for payment integrations and does not include destructive commands, secret exfiltration, obfuscated payloads, or instructions to disable safety controls. It references local reference files and webhook helper scripts, but does not instruct executing untrusted remote code.

Findings
  • •References external reference documents and helper scripts that are not included in the provided SKILL.md, so their exact contents cannot be verified from this file alone.
How this analysis is made

Examples

Polar subscription checkout
Add an embedded Polar checkout to my Next.js app for a monthly subscription plan, verify the Polar webhook signature, and grant a license key benefit after successful payment.
SePay VietQR payment flow
Implement a SePay bank transfer checkout that generates a VietQR code, then handle the webhook to mark the order as paid and log the transaction.
Usage-based billing
Design a Polar usage-based billing setup with metered credits and automated GitHub repository access benefits, including a customer portal link for plan changes.

name: payment-integration description: Implement payment integrations with SePay (Vietnamese payment gateway with VietQR, bank transfers, cards) and Polar (global SaaS monetization platform with subscriptions, usage-based billing, automated benefits). Use when integrating payment processing, implementing checkout flows, managing subscriptions, handling webhooks, processing bank transfers, generating QR codes, automating benefit delivery, or building billing systems. Supports authentication (API keys, OAuth2), product management, customer portals, tax compliance (Polar as MoR), and comprehensive SDK integrations (Node.js, PHP, Python, Go, Laravel, Next.js). version: 1.0.0 license: MIT

Payment Integration

Implement payment processing with SePay (Vietnamese payments) and Polar (global SaaS monetization).

When to Use

Use when implementing:

  • Payment gateway integration (checkout, processing)
  • Subscription management (trials, upgrades, billing)
  • Webhook handling (payment notifications)
  • QR code payments (VietQR, NAPAS)
  • Usage-based billing (metering, credits)
  • Automated benefit delivery (licenses, GitHub access, Discord roles)
  • Customer portals (self-service management)
  • Bank transfer automation (Vietnamese banks)
  • Product catalogs with pricing

Platform Selection

Choose SePay for:

  • Vietnamese market (VND currency)
  • Bank transfer automation
  • VietQR/NAPAS payments
  • Local payment methods
  • Direct bank account monitoring

Choose Polar for:

  • Global SaaS products
  • Subscription management
  • Usage-based billing
  • Automated benefits (GitHub, Discord, licenses)
  • Merchant of Record (tax compliance)
  • Digital product sales

Quick Reference

SePay Integration

  • Overview & Auth: references/sepay/overview.md - Platform capabilities, API/OAuth2 auth, supported banks
  • API Reference: references/sepay/api.md - Endpoints, transactions, bank accounts, virtual accounts
  • Webhooks: references/sepay/webhooks.md - Setup, payload structure, verification, retry logic
  • SDK Usage: references/sepay/sdk.md - Node.js, PHP, Laravel implementations
  • QR Codes: references/sepay/qr-codes.md - VietQR generation, templates, integration
  • Best Practices: references/sepay/best-practices.md - Security, patterns, monitoring

Polar Integration

  • Overview & Auth: references/polar/overview.md - Platform capabilities, authentication methods, MoR concept
  • Products & Pricing: references/polar/products.md - Product types, pricing models, usage-based billing
  • Checkouts: references/polar/checkouts.md - Checkout flows, embedded checkout, links
  • Subscriptions: references/polar/subscriptions.md - Lifecycle, upgrades, downgrades, trials
  • Webhooks: references/polar/webhooks.md - Event types, signature verification, monitoring
  • Benefits: references/polar/benefits.md - Automated delivery (GitHub, Discord, licenses, files)
  • SDK Usage: references/polar/sdk.md - TypeScript, Python, PHP, Go, framework adapters
  • Best Practices: references/polar/best-practices.md - Security, patterns, monitoring

Integration Scripts

  • SePay Webhook Verification: scripts/sepay-webhook-verify.js - Verify SePay webhook authenticity
  • Polar Webhook Verification: scripts/polar-webhook-verify.js - Verify Polar webhook signatures
  • Checkout Helper: scripts/checkout-helper.js - Generate checkout sessions for both platforms

Implementation Workflow

SePay Implementation

  1. Load references/sepay/overview.md for auth setup
  2. Load references/sepay/api.md or references/sepay/sdk.md for integration
  3. Load references/sepay/webhooks.md for payment notifications
  4. Use scripts/sepay-webhook-verify.js for webhook verification
  5. Load references/sepay/best-practices.md for production readiness

Polar Implementation

  1. Load references/polar/overview.md for auth and concepts
  2. Load references/polar/products.md for product setup
  3. Load references/polar/checkouts.md for payment flows
  4. Load references/polar/webhooks.md for event handling
  5. Use scripts/polar-webhook-verify.js for webhook verification
  6. Load references/polar/benefits.md if automating delivery
  7. Load references/polar/best-practices.md for production readiness

Key Capabilities

SePay:

  • Payment gateway (QR, bank transfer, cards)
  • Bank account monitoring with webhooks
  • Order-based virtual accounts
  • VietQR generation API
  • 44+ Vietnamese banks supported
  • Rate limit: 2 calls/second

Polar:

  • Merchant of Record (global tax compliance)
  • Subscription lifecycle management
  • Usage-based billing (events, meters)
  • Automated benefits (GitHub, Discord, licenses)
  • Customer portal (self-service)
  • Multi-language SDKs
  • Rate limit: 300 req/min

Instructions

When implementing payment integration:

  1. Identify platform based on requirements (Vietnamese vs global, payment types)
  2. Load relevant references progressively as needed
  3. Implement authentication using platform-specific methods
  4. Set up products/pricing according to business model
  5. Implement checkout flow (hosted, embedded, or API-driven)
  6. Configure webhooks with proper verification
  7. Handle payment events (success, failure, refund)
  8. Test thoroughly in sandbox before production
  9. Monitor and optimize using platform analytics

Load only the references needed for current implementation step to maintain context efficiency.

Task Planning Notes

  • Always plan and break many small todo tasks
  • Always add a final review todo task to review the works done at the end to find any fix or enhancement needed

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/payment-integration-with-sepay-and-polar-ms2s7ciz/download' --output '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md.part' && mv '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md.part' '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Original excerpt: Quick Reference

SePay Integration

  • Overview & Auth: references/sepay/overview.md - Platform capabilities, API/OAuth2 auth, supported banks
  • API Reference: references/sepay/api.md - Endpoints, transactions, bank accounts, virtual accounts
  • Webhooks: references/sepay/webhooks.md - Setup, payload structure, verification, retry logic
  • SDK Usage: references/sepay/sdk.md - Node.js, PHP, Laravel implementations
  • QR Codes: references/sepay/qr-codes.md - VietQR generation, templates, integration
  • Best Practices: references/sepay/best-practices.md - Security, patterns, monitoring

Polar Integration

  • Overview & Auth: references/polar/overview.md - Platform capabilities, authentication methods, MoR concept
  • Products & Pricing: references/polar/products.md - Product types, pricing models, usage-based billing
  • Checkouts: references/polar/checkouts.md - Checkout flows, embedded checkout, links
  • Subscriptions: references/polar/subscriptions.md - Lifecycle, upgrades, downgrades, trials
  • Webhooks: references/polar/webhooks.md - Event types, signature verification, monitoring
  • Benefits: references/polar/benefits.md - Automated delivery (GitHub, Discord, licenses, files)
  • SDK Usage: references/polar/sdk.md - TypeScript, Python, PHP, Go, framework adapters
  • Best Practices: references/polar/best-practices.md - Security, patterns, monitoring

Integration Scripts

  • SePay Webhook Verification: scripts/sepay-webhook-verify.js - Verify SePay webhook authenticity
  • Polar Webhook Verification: scripts/polar-webhook-verify.js - Verify Polar webhook signatures
  • Checkout Helper: scripts/checkout-helper.js - Generate checkout sessions for both platforms

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md' && test -s '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/payment-integration' && cp -R '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz' '.claude/skills/payment-integration'

Cursor
test -f '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md' && test -s '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/payment-integration' && cp -R '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz' '.cursor/skills/payment-integration'

Codex
test -f '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md' && test -s '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/payment-integration' && cp -R '.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz' '.agents/skills/payment-integration'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz'

openskills read 'payment-integration-with-sepay-and-polar-ms2s7ciz'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/payment-integration-with-sepay-and-polar-ms2s7ciz/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills