transfer method

Future<Response<RazorpayCreateTransferResponse>> transfer({
  1. required String paymentId,
  2. required List<RazorpayPaymentCreateTransferRequestBody> transfers,
  3. void callback(
    1. RazorpayApiException?,
    2. Response<RazorpayCreateTransferResponse>?
    )?,
})

Create transfers from payment

@param paymentId - The unique identifier of the payment. @param params - Contains the list of transfers.

Implementation

Future<Response<RazorpayCreateTransferResponse>> transfer({
  required String paymentId,
  required List<RazorpayPaymentCreateTransferRequestBody> transfers,
  void Function(
    RazorpayApiException?,
    Response<RazorpayCreateTransferResponse>?,
  )? callback,
}) async {
  if (paymentId.isEmpty) {
    throw ArgumentError(ID_REQUIRED_MSG);
  }
  return api.post<RazorpayCreateTransferResponse>(
    {
      'url': '$BASE_URL/$paymentId/transfers',
      'data': {'transfers': transfers.map((t) => t.toJson()).toList()},
    },
    fromJsonFactory: RazorpayCreateTransferResponse.fromJson,
    callback: callback,
  );
}