# WooCommerce

> WooCommerce için ödeme yöntemi: bitcoin ve USDC/USDT doğrudan senin cüzdanına, siparişi imzalı bir webhook ödendi olarak işaretler.

Perly Pay eklentisi klasik ödeme ekranına ve Checkout bloğuna kripto ekler. Her sipariş bir Perly Pay faturası olur; alıcı onu mağazanın üstünde ya da ayrı bir sayfada öder; imzalı bir webhook siparişi ödendi olarak işaretler. WordPress 6.5+, WooCommerce 8.6+, PHP 8.1+. Sunucuya kurulacak bir şey yok: [PHP SDK](https://pay.perly.io/docs/sdks.md) zaten içinde.

> **Not:** Faturalar USD ya da EUR olarak kesilir. Başka para birimli bir mağazada ödeme yöntemi gizlenir ve ayarları nedenini açıklar.

## Kurulum

1. **Zip'i al** — Eklenti WordPress.org'a yolda. Orada olana kadar `perly-pay-woocommerce.zip` için [bize yaz](https://pay.perly.io/tr/contact).
2. **Kur** — WordPress'te: Eklentiler → Yeni ekle → Eklenti yükle, zip'i seç, etkinleştir. WooCommerce etkin olmalı.
3. **Ayarları aç** — WooCommerce → Ayarlar → Ödemeler → **Perly Pay**.

## Ayarlar

| Alan | Ne yazılır |
| --- | --- |
| Gizli anahtar | Dashboard → Developers → API keys. [Test modu](https://pay.perly.io/docs/test-mode.md) için `sk_test_…`, gerçek para için `sk_live_…`. Ayarlar hangi modda olduğunu gösterir. |
| Webhook imza secret'ı | `whsec_…`. **Webhook'u ayarla** onu kendisi doldurur. |
| Ödeme sayfası | **Pencere** ödemeyi mağazanın üstünde açar (pay.js). **Yönlendirme** alıcıyı ödeme sayfasına götürür. Telefonlarda her zaman sayfanın kendisi açılır. |
| Ödemeden sonraki durum | WooCommerce'in karar verdiği gibi (İşleniyor; indirmeler için Tamamlandı), her zaman İşleniyor ya da her zaman Tamamlandı. |
| Başlık, Açıklama | Alıcıların ödeme sırasında gördüğü. |
| Hata ayıklama günlüğü | WooCommerce → Durum → Günlükler'de olaylar ve hatalar. Asla anahtarlar, secret'lar ya da alıcı verileri değil. |

1. **Anahtarı yapıştır** — Ve **Bağlantıyı test et**'e bas: anahtarın çalışıp çalışmadığını, modunu ve bu mağazanın webhook'unun Perly Pay'de olup olmadığını görürsün.
2. **Webhook'u ayarla** — **Webhook'u ayarla**'ya bas. Mağazanın adresini (butonların üstünde, `…/wp-json/perly-pay/v1/webhook`) Perly Pay'e ekler ve secret'ı kaydeder. Ya da adresi kendin Developers → Webhooks'ta ekle ve secret'ı yapıştır.
3. **Pencereye izin ver** — Dashboard → Settings'te mağaza adresini **Sites that may embed the checkout** listesine ekle. Bu olmadan pencere ödemeyi yeni sekmede açmayı önerir.
4. **Aç** — **Perly Pay ile kripto kabul et**'i işaretle ve kaydet.

## Test

`sk_test_…` anahtarıyla kendi mağazanda sipariş ver ve Perly Pay'i seç. Sipariş **Ödeme bekleniyor** durumunda bekler. Faturayı test coinleriyle ya da API üzerinden öde — kimliği sipariş notlarında yazar:

```bash
curl -X POST https://pay.perly.io/api/v1/invoices/inv_…/simulate \
  -H "Authorization: Bearer $PERLY_PAY_SECRET_KEY" -H "Content-Type: application/json" -d '{}'
```

Birkaç saniye içinde sipariş, bir notla birlikte **İşleniyor** olur: ağ, tutar ve işlem bağlantısı. Fatura sayfasında coin zaten seçiliyse `{"outcome":"short"}` ve `{"outcome":"over"}` diğer durumları test eder.

## Siparişler ödemeleri nasıl izler

| Perly Pay'de | Sipariş |
| --- | --- |
| Ödendi, gönderen kontrol edildi (`invoice.fulfilled`) | Ödendi: seçilen durum, stok düşüldü, alıcıya e-posta. Her transfer ve işlemiyle bir not. |
| Görüldü, kısmen ödendi, ödendi ve hâlâ kontrol ediliyor | Bir not. Beklemeye devam eder. |
| [Kontrol](https://pay.perly.io/docs/screening.md) için bekletildi | Beklemede, nedeniyle. Perly Pay'de karar ver. |
| Süresi doldu ya da iptal edildi, hiçbir şey ödenmedi | İptal edildi. |
| Süresi doldu, kısmen ödendi | Beklemede: Perly Pay'de iade et ya da kabul et. |
| İade edildi | Tamamen iade edildi ya da kısmi iade notu. |

Her olay bir kez, oluşturulduğu siparişe uygulanır; geç gelen bir "süresi doldu" ödemeyi asla iptal etmez. Alıcı teşekkür sayfasına webhook'tan önce dönerse eklenti API'ye sorar ve siparişi hemen günceller.

## İadeler

Sipariş sayfasından her zamanki gibi iade et: eklenti Perly Pay'de ödenen coinle bir [iade](https://pay.perly.io/docs/refunds.md) açar (kısmi iadede o kısmı). Perly Pay alıcıdan e-postayla adres ister ve kontrol eder; sipariş notları neyin nereye gönderileceğini söyler. Sen kendi cüzdanından gönderirsin ve işlem kimliğini Perly Pay'e yapıştırırsın — Perly Pay parayı asla tutmaz.

## Canlıya geçiş

- Perly Pay'de canlı modu aç ve cüzdanın açık anahtarlarını bağla.
- `sk_live_…` anahtarını yapıştır. Canlı anahtarlar ve webhook'lar testtekilerden ayrıdır: **Webhook'u ayarla**'ya bir kez daha bas.
- Canlı modda canlı mağazanın https adresini **Sites that may embed the checkout** listesine ekle.
- Küçük, gerçek bir sipariş ver ve iade et.
