50 Satırda Kendi Banka veya Ödeme Ağ Geçidinizi Yazın
Listenizde olmayan özel bir banka veya küresel bir ödeme kuruluşu mu var? BaseProvider sınıfını genişletin; sistemdeki tüm tiplerden, HTTP handler'dan ve hata yönetiminden otomatik yararlanın.
- index.tsextends BaseProvider
- types.tsconfig + raw response
- utils.tshash + mapper
≈ 50 satırda sözleşme tamam.
Bu özellik neden işinize yarar?
BaseProvider Şablonu
createPayment, refund, cancel metotlarını doldurmanız yeterlidir.
Otomatik Tip Uyumluluğu
Yazdığınız özel sağlayıcı, tüm sistem genelinde diğer sağlayıcılar gibi kullanılabilir.
Dahili Şifreleme ve Hash
Web Crypto tabanlı HMAC, SHA-256 ve SHA-512 yardımcı araçları elinizin altında.
Açık Kaynak Katkı İmkânı
Yazdığınız sağlayıcıyı dilerseniz Better Payment ana deposuna PR olarak gönderebilirsiniz.
Basit, anlaşılır ve doğrudan.
Better Payment olmadan
Yeni bir banka eklerken sıfırdan HTTP istemcisi, tip tanımları ve callback rotaları oluşturmak.
Better Payment ile
BaseProvider'dan türetip sadece bankanın XML/JSON formatını eşleştirmek; gerisini motor halleder.
import { BaseProvider, type PaymentRequest, type PaymentResult } from "better-payment";
export class CustomRegionalBankProvider extends BaseProvider {
name = "regional-bank";
async createPayment(req: PaymentRequest): Promise<PaymentResult> {
const xmlPayload = this.buildBankXml(req);
const response = await fetch("https://bank.com/pos", {
method: "POST",
body: xmlPayload
});
return this.normalizeBankResponse(await response.text());
}
}