checkout method

FutureDynamicFailure checkout({
  1. required String accessToken,
  2. required String externalTransactionId,
})

Implementation

FutureDynamicFailure checkout(
    {required String accessToken, required String externalTransactionId}) {
  String clientId = SdkSessionManager().configModel?.clientId ?? "";
  String amount =
      (SdkSessionManager().checkoutModel?.totalAmount ?? 0).toString();
  String basicAuth = "Bearer $accessToken";
  String serviceType = SdkSessionManager().checkoutModel?.serviceType ?? "";

  /// generate HMAC signature
  final headers = SignatureHelper.generateSignatureHeaders(
    clientId: clientId,
    amount: amount,
    externalTransactionId: externalTransactionId,
  );

  return SDKNetworkService().apiRequest(
    endpoint: checkoutApi,
    method: RequestMethod.post,
    headers: {
      "Authorization": basicAuth,
      ...headers,
    },
    data: {
      "clientId": clientId,
      "amount": amount,
      "externalTransactionId": externalTransactionId,
      "attributes": [
        {"key": "service", "value": serviceType}
      ],
    },
  );
}