# Payment Assistant

Binance Pay Assistant - Send and Receive crypto payments.

- Repository: https://github.com/binance/binance-skills-hub (1115 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-10-26
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add binance/binance-skills-hub --skill payment-assistant -g -a claude-code -y`
Codex: `npx skills add binance/binance-skills-hub --skill payment-assistant -g -a codex -y`
Cursor: `npx skills add binance/binance-skills-hub --skill payment-assistant -g -a cursor -y`
Gemini CLI: `npx skills add binance/binance-skills-hub --skill payment-assistant -g -a gemini-cli -y`

## Description

Binance Pay Assistant - Send and Receive crypto payments. Send: QR code payment from Funding Wallet (C2C + PIX). Use when user wants to buy/purchase/pay/transfer/send, confirm/cancel payment, or query order status. Requires QR code data. PIX QR codes (pix, br.gov.bcb.pix) are auto-detected. Receive: Generate QR codes and payment links to collect crypto. Use when user wants to receive/collect payment (generate receive link, receive QR). Do NOT use for earning, buying/selling crypto, or digital goods.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## ⚠️ CRITICAL: How to Handle QR Images

**When user sends a QR code image or asks to pay:**

### Step 0: Check if user provided a PAYMENT LINK (text, not an image)
If the user provided **text** (not an image), and the text is a URL containing
`app.binance.com/uni-qr/` or `app.binance.com/qr/`:

→ This is a payment link. Skip all decode steps. Go directly to purchase:
```bash
python3 payment_skill.py --action purchase --raw_qr "<the URL text>"
```

Otherwise (user sent an image, or text doesn't match above) → continue to Step 1.

### Step 1: Try to READ the QR data directly (Vision)
Look at the QR code image and try to extract the actual data string (URL or EMV code).
- If you can read it → `--action purchase --raw_qr "<DATA>"`
- If you cannot read the data (only see logo/colors) → Go to Step 2

### Step 2: Check for image file path
Does your platform provide the image attachment path in message metadata?
- If YES → `--action decode_qr --image "<PATH>"`
- If NO → Go to Step 3

### Step 3: Ask user for help (DO NOT auto-use clipboard!)
```
"I cannot read the QR directly. Please copy to clipboard, then reply 'use clipboard'"
```
(Translate to user's language as needed)

### Step 4: Only after user confirms → use clipboard
```bash
python3 payment_skill.py --action decode_qr --clipboard
```

---

**⛔ FORBIDDEN:**
- ❌ `--clipboard` without user explicitly saying "use clipboard"
- ❌ Guessing or searching for image files
- ❌ Skipping the "ask user" step

**✅ REQUIRED after decode_qr succeeds:**
- Tell user the image source (e.g., "Decoded from clipboard" or "Decoded from file: xxx.jpg")
- Include `source_type` from response in your message to user

---

## 🚀 Quick Start - Agent MUST Execute

**When user sends a QR code image or asks to pay:**

### Step 1 - Get QR Data (Choose ONE method)

The rest: https://github.com/binance/binance-skills-hub/blob/HEAD/skills/binance/payment/SKILL.md
