requestCardReference method

Future<Response<RazorpayCardReference>> requestCardReference({
  1. required dynamic params,
  2. void callback(
    1. RazorpayApiException?,
    2. Response<RazorpayCardReference>?
    )?,
})

Retrieve the card reference number for a specific card

@param params - The card/token number whose PAR or network reference id should be retrieved. Accepts either RazorpayCardReferenceNumberBaseRequest or RazorpayCardReferenceTokenBaseRequest.

Implementation

Future<Response<RazorpayCardReference>> requestCardReference({
  required dynamic params, // Use dynamic to accept either type
  void Function(RazorpayApiException?, Response<RazorpayCardReference>?)?
      callback,
}) async {
  Map<String, dynamic> requestData;

  if (params is RazorpayCardReferenceNumberBaseRequest) {
    requestData = params.toJson();
  } else if (params is RazorpayCardReferenceTokenBaseRequest) {
    requestData = params.toJson();
  } else {
    throw ArgumentError(
      'Invalid type for params. Expected RazorpayCardReferenceNumberBaseRequest or RazorpayCardReferenceTokenBaseRequest.',
    );
  }

  return api.post<RazorpayCardReference>(
    {
      'url': '/cards/fingerprints',
      'data': requestData,
    },
    fromJsonFactory: RazorpayCardReference.fromJson,
    callback: callback,
  );
}