neq quotation definition + priced_at field
This commit is contained in:
73
api/proto/common/payment/v1/card.proto
Normal file
73
api/proto/common/payment/v1/card.proto
Normal file
@@ -0,0 +1,73 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package common.payment.v1;
|
||||
|
||||
option go_package = "github.com/tech/sendico/pkg/proto/common/payment/v1;paymentv1";
|
||||
|
||||
import "google/protobuf/wrappers.proto";
|
||||
|
||||
|
||||
// -------------------------
|
||||
// Card network (payment system)
|
||||
// -------------------------
|
||||
enum CardNetwork {
|
||||
CARD_NETWORK_UNSPECIFIED = 0;
|
||||
CARD_NETWORK_VISA = 1;
|
||||
CARD_NETWORK_MASTERCARD = 2;
|
||||
CARD_NETWORK_MIR = 3;
|
||||
CARD_NETWORK_AMEX = 4;
|
||||
CARD_NETWORK_UNIONPAY = 5;
|
||||
CARD_NETWORK_JCB = 6;
|
||||
CARD_NETWORK_DISCOVER = 7;
|
||||
}
|
||||
|
||||
enum CardFundingType {
|
||||
CARD_FUNDING_UNSPECIFIED = 0;
|
||||
CARD_FUNDING_DEBIT = 1;
|
||||
CARD_FUNDING_CREDIT = 2;
|
||||
CARD_FUNDING_PREPAID = 3;
|
||||
}
|
||||
|
||||
// -------------------------
|
||||
// PCI scope: raw card details
|
||||
// -------------------------
|
||||
|
||||
message RawCardData {
|
||||
string pan = 1;
|
||||
uint32 exp_month = 2; // 1–12
|
||||
uint32 exp_year = 3; // YYYY
|
||||
string cvv = 4; // optional; often omitted for payouts
|
||||
}
|
||||
|
||||
|
||||
// -------------------------
|
||||
// Safe metadata (display / routing hints)
|
||||
// -------------------------
|
||||
message CardMetadata {
|
||||
string masked_pan = 1; // e.g. 411111******1111
|
||||
CardNetwork network = 2; // Visa/Mastercard/Mir/...
|
||||
CardFundingType funding = 3; // debit/credit/prepaid (if known)
|
||||
string issuing_country = 4; // ISO 3166-1 alpha-2 (if known)
|
||||
string issuer_name = 5; // display only (if known)
|
||||
}
|
||||
|
||||
|
||||
// -------------------------
|
||||
// Card details
|
||||
// Either inline credentials OR reference to stored payment method
|
||||
// -------------------------
|
||||
message CardDetails {
|
||||
string id = 1;
|
||||
|
||||
oneof source {
|
||||
RawCardData raw = 2;
|
||||
string payment_method_id = 3;
|
||||
}
|
||||
|
||||
string cardholder_name = 4;
|
||||
string cardholder_surname = 5;
|
||||
|
||||
string billing_country = 6; // ISO 3166-1 alpha-2, if you need it per operation
|
||||
}
|
||||
|
||||
|
||||
11
api/proto/common/payment/v1/custom.proto
Normal file
11
api/proto/common/payment/v1/custom.proto
Normal file
@@ -0,0 +1,11 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package common.payment.v1;
|
||||
|
||||
option go_package = "github.com/tech/sendico/pkg/proto/common/payment/v1;paymentv1";
|
||||
|
||||
|
||||
message CustomPaymentDetails {
|
||||
string id = 1;
|
||||
bytes payment_method_json = 2;
|
||||
}
|
||||
16
api/proto/common/payment/v1/external_chain.proto
Normal file
16
api/proto/common/payment/v1/external_chain.proto
Normal file
@@ -0,0 +1,16 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package common.payment.v1;
|
||||
|
||||
option go_package = "github.com/tech/sendico/pkg/proto/common/payment/v1;paymentv1";
|
||||
|
||||
import "api/proto/gateway/chain/v1/chain.proto";
|
||||
|
||||
|
||||
message ExternalChainDetails {
|
||||
string id = 1;
|
||||
chain.gateway.v1.Asset asset = 2;
|
||||
string address = 3;
|
||||
string memo = 4;
|
||||
}
|
||||
|
||||
14
api/proto/common/payment/v1/ledger.proto
Normal file
14
api/proto/common/payment/v1/ledger.proto
Normal file
@@ -0,0 +1,14 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package common.payment.v1;
|
||||
|
||||
option go_package = "github.com/tech/sendico/pkg/proto/common/payment/v1;paymentv1";
|
||||
|
||||
|
||||
message LedgerDetails {
|
||||
string id = 1;
|
||||
oneof source {
|
||||
string ledger_account_ref = 2;
|
||||
string account_code = 3;
|
||||
}
|
||||
}
|
||||
11
api/proto/common/payment/v1/managed_wallet.proto
Normal file
11
api/proto/common/payment/v1/managed_wallet.proto
Normal file
@@ -0,0 +1,11 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package common.payment.v1;
|
||||
|
||||
option go_package = "github.com/tech/sendico/pkg/proto/common/payment/v1;paymentv1";
|
||||
|
||||
|
||||
message ManagedWalletDetails {
|
||||
string id = 1;
|
||||
string managed_wallet_ref = 2;
|
||||
}
|
||||
16
api/proto/common/payment/v1/rba.proto
Normal file
16
api/proto/common/payment/v1/rba.proto
Normal file
@@ -0,0 +1,16 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package common.payment.v1;
|
||||
|
||||
option go_package = "github.com/tech/sendico/pkg/proto/common/payment/v1;paymentv1";
|
||||
|
||||
// -------------------------
|
||||
// Russian bank account details
|
||||
// -------------------------
|
||||
|
||||
message RussianBankDetails {
|
||||
string id = 1;
|
||||
string account_number = 2; // 20 digits
|
||||
string bik = 3; // 9 digits
|
||||
string account_holder_name = 4;
|
||||
}
|
||||
17
api/proto/common/payment/v1/sepa.proto
Normal file
17
api/proto/common/payment/v1/sepa.proto
Normal file
@@ -0,0 +1,17 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package common.payment.v1;
|
||||
|
||||
option go_package = "github.com/tech/sendico/pkg/proto/common/payment/v1;paymentv1";
|
||||
|
||||
// -------------------------
|
||||
// SEPA bank account details
|
||||
// -------------------------
|
||||
|
||||
message SepaBankDetails {
|
||||
string id = 1;
|
||||
string iban = 2; // IBAN
|
||||
string bic = 3; // optional (BIC/SWIFT)
|
||||
string account_holder_name = 4;
|
||||
}
|
||||
|
||||
13
api/proto/common/payment/v1/settlement.proto
Normal file
13
api/proto/common/payment/v1/settlement.proto
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package common.payment.v1;
|
||||
|
||||
option go_package = "github.com/tech/sendico/pkg/proto/common/payment/v1;paymentv1";
|
||||
|
||||
// SettlementMode defines how to treat fees/FX variance for payouts.
|
||||
enum SettlementMode {
|
||||
SETTLEMENT_UNSPECIFIED = 0;
|
||||
SETTLEMENT_FIX_SOURCE = 1; // customer pays fees; sent amount fixed
|
||||
SETTLEMENT_FIX_RECEIVED = 2; // receiver gets fixed amount; source flexes
|
||||
}
|
||||
Reference in New Issue
Block a user