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. |
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 |
|