# Erste Schritte (https://dev.cosmospay.lat/docs/de/getting-started/)

> Alles, was Sie vor Ihrer ersten Cosmos-Pay-Zahlung brauchen (was es ist, wie eine Zahlung abläuft und die beiden Integrationswege).

Mit **Cosmos Pay** akzeptieren Sie Zahlungen auf [Stellar](https://stellar.org),
[Solana](https://solana.com) und [Monad](https://monad.xyz) über **Zahlungsabsichten**: Sie beschreiben eine Zahlung, der Zahler schließt sie aus seinem eigenen
Wallet ab, und Sie bestätigen sie On-Chain. Rund um diesen Kern erhalten Sie außerdem **Swaps** (auf jeder Chain und zwischen ihnen), **Webhooks**, **Produkte**,
**Kunden** und **Analysen**.

Es gibt zwei Integrationswege, und die meisten Anwendungen nutzen beide gemeinsam:

- [Das SDK verwenden (empfohlen)](https://dev.cosmospay.lat/docs/sdk/server/overview/): @cosmosapp/pay_sdk: ein typisierter JavaScript/TypeScript-Client, der Authentifizierung, Anfragen und Wallet-Signierung für Sie übernimmt.
- [Die REST-API direkt aufrufen](https://dev.cosmospay.lat/docs/api/): Die Payments-REST-API (OpenAPI), falls Sie nicht mit JavaScript arbeiten oder volle Kontrolle über die Anfragen wünschen.

## So funktioniert eine Zahlung

Jede Zahlung durchläuft dieselben drei Schritte (hier mit dem SDK, auf Stellar):

1. **Ihr Server erstellt eine Absicht** mit Ihrem geheimen API-Schlüssel, z. B. `client.paymentIntents.createPay({ ... })`. Sie erhalten eine SEP-7-`uri` und einen `qr`, die Sie dem Zahler anzeigen.
2. **Der Zahler schließt sie ab** in seinem Stellar-Wallet (Freighter, xBull, Rabet, LOBSTR oder Albedo). Im Browser ist das ein einziger Aufruf: `new WebClient().pay(intent)`, der einen On-Chain-`txHash` zurückgibt.
3. **Ihr Server validiert** diesen Hash mit `intent.validate(txHash)`, wodurch der Status der Zahlung aktualisiert und ein Webhook an Ihre Endpunkte ausgelöst wird.

Auf Solana und Monad geben Sie `chain` an, mit dem SDK (`createPay({ chain: 'solana', ... })`, ab Version 2.2) oder über die [REST-API](https://dev.cosmospay.lat/docs/api/payment-intents/):
Sie erhalten einen Solana-Pay- oder EIP-681-Link statt eines SEP-7-Links, der Zahler bezahlt ihn aus einem
beliebigen Wallet dieser Chain, und die Payments-API erkennt die Zahlung on-chain und löst dieselben Webhooks aus.

> **Testnet vs. Mainnet**
>
> Sie wählen das Netzwerk niemals im Code; es wird durch Ihr **API-Schlüssel-Präfix** bestimmt: `dv_`-Schlüssel laufen
> im **Testnet**, `prod_`-Schlüssel im **Mainnet**. Entwickeln Sie mit einem `dv_`-Schlüssel und tauschen Sie ihn dann gegen einen
> `prod_`-Schlüssel aus, um live zu gehen.

## Bevor Sie beginnen

1. **Holen Sie sich einen API-Schlüssel**: Melden Sie sich an der Entwicklerplattform an und erzeugen Sie einen. Siehe [API-Schlüssel holen](https://dev.cosmospay.lat/docs/api-keys/).
2. **Installieren Sie das SDK**: `npm install @cosmosapp/pay_sdk` (Node.js ≥ 18). Siehe [Installation](https://dev.cosmospay.lat/docs/sdk/server/installation/).
3. **Bewahren Sie den Schlüssel auf Ihrem Server auf.** Er ist geheim; der Browser-Web-Client benötigt ihn nie.

## Ihre erste Zahlung

```ts
import { Client, Assets } from '@cosmosapp/pay_sdk';

const client = new Client({ apiKey: process.env.COSMOS_PAY_API_KEY });

const intent = await client.paymentIntents.createPay({
  destination: 'G...YOUR_MERCHANT_ACCOUNT',
  amount: '10',
  asset: Assets.XLM,
  msg: 'Order #1001',
});

console.log(intent.uri); // show as a link / button
console.log(intent.qr);  // render this data: URL as an <img>
```

## Nächste Schritte

- [API-Schlüssel holen](https://dev.cosmospay.lat/docs/api-keys/): Anmelden, eine Umgebung wählen und einen Schlüssel im Dashboard erzeugen.
- [Schnellstart](https://dev.cosmospay.lat/docs/sdk/server/quickstart/): Das vollständige Beispiel: Server erstellt / Browser schließt ab.
- [Webhooks](https://dev.cosmospay.lat/docs/sdk/server/webhooks/): Werden Sie benachrichtigt, sobald eine Zahlung erfolgreich ist.
- [API-Referenz](https://dev.cosmospay.lat/docs/api/): Jeder Endpunkt mit Schemata und einer Anfrage-Spielwiese.
