Skip to content

voplica.types.payment

The protobuf package voplica.types.payment: 0 services, 5 messages and 4 enums, defined in voplica/types/payment/payment.proto.

Field Number Type Label Description
account_id 2 string string id = 1; account_id who owns this account
permanent_credits_milli 3 uint64 permanent credits which can be spent across all Voplica services. 1 credit = 1 cent. 100 credits = 1 dollar (could be called “gollar”). Stored/wire unit is the milli-credit (1/1000 credit); 1 milli-credit = $0.00001. milli-credits (1/1000 credit). 1 credit = 1 cent.
earned_credits_milli 4 uint64 same as “permanent_credits”, but earned. These credits can act as “permanent_credits”, or exchanged and withdrawn to a bank account. milli-credits (1/1000 credit). 1 credit = 1 cent.
studio_subscription 5 StudioSubscription current studio subscription
stripe_customer_id 6 string id of the customer created in Stripe to manage subscriptions
Field Number Type Label Description
id 1 string
user_id 2 string User this transaction belongs to
idempotency_key 3 string Transaction-level idempotency key
created_timestamp 4 uint64
state 5 PaymentTxState
updated_timestamp 6 uint64 optional
reserved_credits_milli 7 uint64 Reserved credits amount - charged from user immediately when transaction is created. milli-credits (1/1000 credit). 1 credit = 1 cent.
total_charged_milli 8 uint64
free_credits_forbidden 11 bool
privacy_mode 12 voplica.types.workflow.WorkflowPrivacyMode
Field Number Type Label Description
id 1 string
account_id 2 string
items 3 PaymentDataItem repeated
currency_code 4 string
timestamp 5 uint64
stripe_session_id 6 string optional
stripe_invoice_id 7 string optional
stripe_subscription_id 8 string optional
payment_mode 9 PaymentMode
payment_status 10 PaymentStatus
is_applied 11 bool if this payment was applied to billingInfo
payment_reconciliation_state 12 ReconciliationState reconciliation state
reconciler 13 string optional the id of the instance that did the reconciliation on this payment
billing_reason 14 string optional
stripe_payment_intent_id 15 string optional Stripe PaymentIntent id (from the invoice or checkout session), populated when the payment is applied. Lets refund/dispute webhook events resolve back to this payment.
Field Number Type Label Description
paid_amount 1 voplica.types.base.BigDecimalValue price for the item
price 2 voplica.types.price.Price
quantity 3 int64 how many of these items user wants to purchase

Spending priority:

  • free_credits (i.e. “gas”)
  • subscription_credits
  • permanent_credits
  • earned_credits
Field Number Type Label Description
studio_subscription_type 1 voplica.types.subscription.StudioSubscriptionType current studio subscription
subscribed_date 2 uint64
next_billing_date 4 uint64 optional
subscription_limit_credits_milli 5 uint64 same as “permanent_credits”, but received from subscription. these credits expire by the time “next_billing_date” is reached. milli-credits (1/1000 credit). 1 credit = 1 cent.
subscription_spent_credits_milli 6 uint64 milli-credits (1/1000 credit). 1 credit = 1 cent.
free_credits_milli 7 uint64 free credits can act similarly to “permanent_credits”, but they cannot be used to fund other people. Meaning, these credits can never be converted to “earned_credits” for other people. In other words, we can call it “gas” or something else. The meaning of this “gas” is to allow users with Free subscription to generate some content in Voplica Studio or spend it to some Voplica services, which don’t directly related to funding someone else’s work. This can be called “gas” or “fake_credits” because these credits can’t be spent to generate content from models where creator’s fee is used. milli-credits (1/1000 credit). 1 credit = 1 cent.
next_credit_reset_date 8 uint64 optional If user has active subscription, this date contains timestamp when user credits needs to be re-evaluated (new limit and spent)
recurring_interval 9 voplica.types.price.RecurringInterval Recurring interval of subscription billing cycle
Name Number Description
PAYMENT_MODE_UNSPECIFIED 0
SUBSCRIPTION 1
PAYMENT 2
SETUP 3
Name Number Description
PAYMENT_STATUS_UNSPECIFIED 0
INIT 1
REGISTERED 2
SUCCESS 3
FAILURE 4
Name Number Description
PAYMENT_TX_STATE_UNSPECIFIED 0
TX_OPEN 1 Open transaction means that there could be more charges on the same transaction
TX_CLOSED 2 Closed transaction is finalized and there cannot be any changes to this transactions anymore
Name Number Description
RECONCILIATION_STATE_UNSPECIFIED 0
NEW 1
IN_FLIGHT 2
FAILED 3
DONE 4
STALE 5