Интеграция с Ramp Network
Ramp Network — on/off-ramp сервис с фокусом на банковские переводы (Open Banking) и низкие комиссии. Их особенность — прямое подключение к банковским аккаунтам пользователей через Open Banking API в ЕС и UK, что даёт более низкие комиссии по сравнению с карточными платежами.
SDK интеграция
import { RampInstantSDK } from '@ramp-network/ramp-instant-sdk';
const ramp = new RampInstantSDK({
hostAppName: 'Your App Name',
hostLogoUrl: 'https://yourapp.com/logo.png',
hostApiKey: process.env.RAMP_API_KEY,
swapAsset: 'ETH_ETH,MATIC_POLYGON', // поддерживаемые активы
userAddress: walletAddress,
swapAmount: '50000000000000000', // wei для ETH
fiatCurrency: 'EUR',
fiatValue: 100,
userEmailAddress: user.email,
});
ramp.on('PURCHASE_CREATED', (purchase, _purchaseViewToken, apiUrl) => {
console.log('Purchase created:', purchase);
});
ramp.on('PURCHASE_SUCCESSFUL', (purchase) => {
handleSuccess(purchase);
});
ramp.show();
Server-side API
import httpx
import jwt
from datetime import datetime, timedelta
class RampClient:
BASE_URL = "https://api.ramp.network/api"
def __init__(self, api_key: str, secret: str):
self.api_key = api_key
self.secret = secret
async def get_purchase(self, purchase_id: str) -> dict:
token = jwt.encode(
{"iss": self.api_key, "exp": datetime.utcnow() + timedelta(minutes=5)},
self.secret,
algorithm="HS256"
)
async with httpx.AsyncClient() as client:
resp = await client.get(
f"{self.BASE_URL}/purchases/{purchase_id}",
headers={"Authorization": f"Bearer {token}"}
)
return resp.json()
async def get_supported_assets(self) -> list:
async with httpx.AsyncClient() as client:
resp = await client.get(f"{self.BASE_URL}/host-api/assets",
params={"hostApiKey": self.api_key})
return resp.json()["assets"]
Webhook
@app.post("/webhooks/ramp")
async def ramp_webhook(request: Request):
# Ramp подписывает webhooks JWT токеном
auth = request.headers.get("Authorization", "").replace("Bearer ", "")
try:
payload = jwt.decode(auth, RAMP_PUBLIC_KEY, algorithms=["RS256"])
except jwt.InvalidTokenError:
raise HTTPException(403)
event = await request.json()
if event["type"] == "CREATED" and event["purchase"]["status"] == "RELEASING":
await process_pending_purchase(event["purchase"])
Ramp Network комиссии: 0.49% для SEPA/Open Banking, 2.9% для карт. Для европейских пользователей с банковскими счётами — самые низкие комиссии среди всех white-label провайдеров. Off-ramp через bank transfer также поддерживается. Покрытие: 150+ стран, 90+ криптовалют.







