UnoPayv1.0.0
  1. خانه
  2. GatewayAdapter

مرجع API

GatewayAdapter

دو متد. تمام قرارداد همین است و عمداً کوچک است — بیشتر نقشه راه روی همین نوشته شده.

interfaceGatewayAdapter

قرارداد دومتدی که هر درگاه پیاده می‌کند. چون به همین اندازه کوچک است، نوشتن آداپتور خودتان کار کوتاهی است — و UnoPay آن را هرجا آداپتور داخلی بپذیرد می‌پذیرد.

export interface GatewayAdapter {
  createPayment(request: PaymentRequest): Promise<PaymentResult>;
  verifyCallback(request: CallbackRequest): Promise<VerificationResult>;
}

متدها

  • createPayment(request)
  • verifyCallback(request)
نکته

در نسخه ۱٫۰٫۰ هیچ متد ابطال، استرداد، تسویه، استعلام یا تعهدی روی این اینترفیس وجود ندارد. استرداد و تسویه در برخی اسناد درگاه هست، اما SDK آن‌ها را ارائه نمی‌کند.

نکته

یک آداپتور می‌تواند هر Error ای پرتاب کند. UnoPay مقادیر غیر PaymentError را برای شما به GatewayProviderError تبدیل می‌کند، پس لازم نیست آن‌ها را بپیچید.

نمونه کد

GatewayAdapter.tsts
import type { GatewayAdapter } from 'unopay';

class IdpayAdapter implements GatewayAdapter {
  async createPayment(request: PaymentRequest): Promise<PaymentResult> {
    // ...
    return { redirectUrl, transactionId, providerToken };
  }
  async verifyCallback(request: CallbackRequest): Promise<VerificationResult> {
    // ...
    return { isSuccessful, transactionId, settledAmount };
  }
}