request method
Future<TransactionResponseDoc>
request({
- required String operator,
- required CreateTransfer transferRequest,
- String? contextId,
Initiates a payment request.
Creates a payment request by invoking the 'm10.Request' action with
the specified transfer request. The request is sent from the recipient
account to the sender account. A pending status is set for the payment
request.
Parameters:
operator(required): The platform operator (e.g. "m10").transferRequest(required): The transfer object to be included in the payment request.contextId(optional): An optional context ID for the transaction.
Returns:
- A
TransactionResponseDocobject representing the created payment request transaction.
Throws:
- An Exception if payment request creation fails.
Implementation
Future<TransactionResponseDoc> request({
required String operator,
required CreateTransfer transferRequest,
String? contextId,
}) async =>
invokeAction(
operator: operator,
name: requestActionName,
fromAccountId: hex.encode(transferRequest.transferSteps[0].toAccountId),
targetAccountId:
hex.encode(transferRequest.transferSteps[0].fromAccountId),
payload: (PaymentRequest()
..transfer = transferRequest
..status = PaymentRequest_PaymentRequestStatus.PENDING)
.writeToBuffer(),
contextId: contextId ?? randomContextId,
);