为开发者而生

开发者
API平台

强大的API和SDK让您轻松集成加密货币支付功能。 完整的文档、示例代码和测试环境助您快速上手。

简单集成

5分钟内完成API集成

多语言SDK

支持10+编程语言

完整文档

详细的API文档和示例

沙盒环境

免费的测试环境

99.9%
API稳定性
50ms
平均响应时间
24/7
技术支持
javascript
// 创建支付
const payment = await fetch('https://api.example.com/v1/payments', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    amount: '100.00',
    currency: 'BTC',
    description: '产品购买'
  })
});

const result = await payment.json();
console.log('Payment ID:', result.id);

5分钟快速开始

获取API密钥,查看文档,开始您的第一个集成。

快速开始

四个简单步骤,快速集成加密货币支付

1

获取 API 密钥

在控制台中创建您的 API 密钥

2

安装 SDK

选择您喜欢的编程语言安装 SDK

3

创建支付

使用 API 创建您的第一个支付请求

4

处理回调

设置 Webhook 处理支付状态更新

获取 API 密钥

// 在控制台中创建 API 密钥
const apiKey = "pk_live_your_api_key_here";

API Reference

Complete REST API documentation and examples

POST/v1/payments

Create a new payment request

Parameters

amountcurrencycrypto_currencyreturn_url
GET/v1/payments/{id}

Retrieve payment details

Parameters

id
GET/v1/payments

List all payments

Parameters

limitoffsetstatus

Code Examples

Complete example code supporting multiple programming languages

JavaScript Example

// JavaScript SDK
import CryptoPay from '@cryptopay/node-sdk';

const cryptoPay = new CryptoPay('your_api_key');

// Create Payment
const payment = await cryptoPay.payments.create({
  amount: 1000,
  currency: 'USD',
  cryptoCurrency: 'BTC',
  returnUrl: 'https://your-site.com/success',
  cancelUrl: 'https://your-site.com/cancel'
});

// Get Payment Status
const status = await cryptoPay.payments.retrieve(payment.id);
console.log('Payment status:', status.status);

More Examples

Check out our GitHub repository for more complete example projects and integration guides

官方 SDK

支持主流编程语言的官方 SDK,让集成更简单

Node.js

v2.1.0

用于服务器端 JavaScript 应用

npm install @cryptopay/node-sdk
25,000+ 下载MIT 许可

Python

v1.8.3

用于 Python Web 应用和脚本

pip install cryptopay-python
18,000+ 下载MIT 许可

PHP

v1.5.2

用于 PHP Web 应用

composer require cryptopay/php-sdk
12,000+ 下载MIT 许可

Java

v1.3.1

用于 Java 和 Spring Boot 应用

maven: cryptopay-java-sdk
8,000+ 下载MIT 许可

Ruby

v1.2.0

用于 Ruby 和 Rails 应用

gem install cryptopay-ruby
5,000+ 下载MIT 许可

Go

v1.1.0

用于 Go 语言应用

go get github.com/cryptopay/go-sdk
3,000+ 下载MIT 许可

找不到您需要的语言?

我们的 REST API 支持任何能发送 HTTP 请求的编程语言。查看我们的 GitHub 仓库获取更多示例。

Webhook 集成

实时接收支付状态更新,确保您的应用与支付状态同步

支持的事件类型

payment.created

支付请求创建时触发

实时
示例数据
{
  "event": "payment.created",
  "data": {
    "id": "pay_123456",
    "status": "pending",
    "amount": 1000,
    "currency": "USD"
  }
}

payment.confirmed

支付确认时触发

实时
示例数据
{
  "event": "payment.confirmed",
  "data": {
    "id": "pay_123456",
    "status": "confirmed",
    "amount": 1000,
    "currency": "USD",
    "crypto_amount": 0.022,
    "crypto_currency": "BTC"
  }
}

payment.failed

支付失败时触发

实时
示例数据
{
  "event": "payment.failed",
  "data": {
    "id": "pay_123456",
    "status": "failed",
    "error": "insufficient_funds"
  }
}

处理 Webhook

Express.js 示例

const express = require('express');
const crypto = require('crypto');

app.post('/webhook', (req, res) => {
  const signature = req.headers['x-cryptopay-signature'];
  const payload = JSON.stringify(req.body);
  
  // 验证签名
  const expectedSignature = crypto
    .createHmac('sha256', webhookSecret)
    .update(payload)
    .digest('hex');
  
  if (signature === expectedSignature) {
    const event = req.body;
    
    switch (event.event) {
      case 'payment.confirmed':
        // 处理支付确认
        console.log('Payment confirmed:', event.data);
        break;
      case 'payment.failed':
        // 处理支付失败
        console.log('Payment failed:', event.data);
        break;
    }
    
    res.sendStatus(200);
  } else {
    res.sendStatus(400);
  }
});

安全最佳实践

  • • 始终验证 Webhook 签名
  • • 使用 HTTPS 端点接收 Webhook
  • • 实现幂等性处理重复事件
  • • 设置合理的超时时间

Webhook 配置

在控制台中配置您的 Webhook 端点和需要接收的事件类型