common.submission

io.token.proto.common.submission common/src/main/proto/submission.proto


syntax = "proto3";
package io.token.proto.common.submission;

option java_outer_classname = "SubmissionProtos";
option csharp_namespace = "Tokenio.Proto.Common.SubmissionProtos";

import "account.proto";
import "money.proto";
import "providerspecific.proto";
import "security.proto";
import "token.proto";
import "transferinstructions.proto";

// Status of an instruction sent to the bank, e.g. of a payment or standing order.
enum SubmissionStatus {
  INVALID = 0;                                 // Invalid status
  PENDING = 1;                                 // Pending submission by Token.
  PROCESSING = 2;                              // Submitted by Token; pending submission by the bank.
  SUCCESS = 3;                                 // Submission successful.
  FAILED = 4;                                  // Submission failed.
  INITIATED = 5;                               // Submission acknowledged by the bank, but unable retrieve further status.
  CANCELED = 6;
  SENT = 7;                                    // Sent to the bank but not acknowledged by the bank.
  PENDING_EXTERNAL_AUTHORIZATION = 8;          // Requires authorization by the user to complete
}

message StandingOrderSubmission {
  string id = 1;                            // ID of the submission. Can be used in GetStandingOrderSubmissionRequest to fetch status.
  string standing_order_id = 2;             // Bank standing order reference id: Can be used to look up StandingOrder
  string token_id = 3;
  int64 created_at_ms = 4;
  io.token.proto.common.token.StandingOrderBody payload = 5;
  SubmissionStatus status = 6;
  providerspecific.ProviderStandingOrderSubmissionDetails provider_details = 7;
  string status_reason_information = 8;       // Optional: provides detailed information on the status reason
  io.token.proto.common.account.Refund refund = 9;    // Optional: a refund object will be returned
  io.token.proto.common.token.ActingAs acting_as = 10; // Provides information about sub-tpps
}