View Javadoc
1   package org.petify.funding.service.payment;
2   
3   import org.petify.funding.dto.PaymentRequest;
4   import org.petify.funding.dto.PaymentResponse;
5   import org.petify.funding.dto.WebhookEventDto;
6   
7   public interface PaymentProviderService {
8   
9       PaymentResponse createPayment(PaymentRequest request);
10  
11      PaymentResponse getPaymentStatus(String externalId);
12  
13      PaymentResponse cancelPayment(String externalId);
14  
15      PaymentResponse refundPayment(String externalId, java.math.BigDecimal amount);
16  
17      void handleWebhook(String payload, String signature);
18  
19      WebhookEventDto parseWebhookEvent(String payload, String signature);
20  
21      boolean supportsPaymentMethod(org.petify.funding.model.PaymentMethod method);
22  
23      boolean supportsCurrency(org.petify.funding.model.Currency currency);
24  
25      java.math.BigDecimal calculateFee(java.math.BigDecimal amount,
26                                        org.petify.funding.model.Currency currency);
27  }