payWithEncryptedCard method

Future<ValueResult<PaymentStatusResponse>> payWithEncryptedCard(
  1. String depositRequestId,
  2. CardPaymentData cardData,
  3. String pemPublicKey,
  4. String keyId,
)

Implementation

Future<ValueResult<PaymentStatusResponse>> payWithEncryptedCard(
  String depositRequestId,
  CardPaymentData cardData,
  String pemPublicKey,
  String keyId,
) async {
  try {
    final encryptedCard = CardEncryptor.encrypt(pemPublicKey, cardData);

    final request = CardPaymentRequest(
      depositRequestId: depositRequestId,
      encryptedCard: encryptedCard,
      keyId: keyId,
    );

    return await payWithCard(request);
  } catch (e) {
    return ValueResult.failure(
      'Erro inesperado ao criptografar ou processar o pagamento com cartão.',
    );
  }
}