+
+ Package org.signal.chat.one_time_donations
+
+
+
+
+
+ Service
+ OneTimeDonations
+
+
+
+ Message
+ AmountAboveSepaLimitError
+
+
+
+ Message
+ AmountBelowMinimumError
+
+
+
+ Message
+ ConfirmPayPalBoostRequest
+
+
+
+ Message
+ ConfirmPayPalBoostResponse
+
+
+
+ Message
+ ConfirmPayPalBoostResult
+
+
+
+ Message
+ CreateBoostReceiptCredentialsRequest
+
+
+
+ Message
+ CreateBoostReceiptCredentialsResponse
+
+
+
+ Message
+ CreateBoostReceiptCredentialsResult
+
+
+
+ Message
+ CreateBoostRequest
+
+
+
+ Message
+ CreateBoostResponse
+
+
+
+ Message
+ CreatePayPalBoostRequest
+
+
+ Services +
+ + ++ service OneTimeDonations + +
+ +Service for making one-time donation payments (boost and gift)
+Note that these are siblings of the RPCs in the Subscriptions service. One-time payments do +not require the subscription management methods in that service, though the configuration at +Subscriptions.GetConfiguration is shared between subscription and one-time payments.
+
+
+ rpc CreateBoost
+
+
+ Request: org.signal.chat.one_time_donations.CreateBoostRequest
+ + Response:
org.signal.chat.one_time_donations.CreateBoostResponse
+ +
Create a Stripe payment intent and return a client secret that can be used to complete the payment. +Once the payment is complete, the paymentIntentId can be used with CreateBoostReceiptCredentials
+
+
+ rpc CreatePayPalBoost
+
+
+ Request: org.signal.chat.one_time_donations.CreatePayPalBoostRequest
+ + Response:
org.signal.chat.one_time_donations.CreatePayPalBoostResponse
+ +
Create a PayPal one-time payment. +Once the payment is complete, call ConfirmPayPalBoost with the payment ID and token
+
+
+ rpc ConfirmPayPalBoost
+
+
+ Request: org.signal.chat.one_time_donations.ConfirmPayPalBoostRequest
+ + Response:
org.signal.chat.one_time_donations.ConfirmPayPalBoostResponse
+ +
Confirm a PayPal one-time payment
+
+
+ rpc CreateBoostReceiptCredentials
+
+
+ Request: org.signal.chat.one_time_donations.CreateBoostReceiptCredentialsRequest
+ + Response:
org.signal.chat.one_time_donations.CreateBoostReceiptCredentialsResponse
+ +
Obtain a ZK receipt credential for a completed one-time donation payment. +The receipt credential can then be used to redeem the one-time donation entitlement +via Donations.RedeemReceipt
++ Messages +
+ + + ++ + message AmountAboveSepaLimitError + + + +
+ +The SEPA Direct Debit amount exceeds the allowed maximum.
+| + | Field | +Type | +Description | + +
|---|---|---|---|
| 1 | ++ maximum + | +
+
+
+ string
+
+ |
+ The maximum amount for a SEPA transaction |
+
+
+ + message AmountBelowMinimumError + + + +
+ +The amount is below the minimum for the currency.
+| + | Field | +Type | +Description | + +
|---|---|---|---|
| 1 | ++ minimum + | +
+
+
+ string
+
+ |
+ The minimum amount for the currency |
+
+
+ + message ConfirmPayPalBoostRequest + + + +
+ +| + | Field | +Type | +Description | + +
|---|---|---|---|
| 1 | ++ currency + | +
+
+
+ string
+
+ |
+ ISO 4217 currency code, case-insensitive (e.g. "usd", "EUR") |
+
+
| 2 | ++ amount + | +
+
+
+ uint64
+
+ |
+ Amount in the currency's minor unit, must be >= 1 |
+
+
| 3 | ++ level + | +
+
+
+ uint64
+
+ |
+ Donation level. |
+
+
| 4 | ++ payer_id + | +
+
+
+ string
+
+ |
+ PayPal payer ID from the approval redirect |
+
+
| 5 | ++ payment_id + | +
+
+
+ string
+
+ |
+ PayPal payment ID (PAYID-…) from CreatePayPalBoost |
+
+
| 6 | ++ payment_token + | +
+
+
+ string
+
+ |
+ PayPal payment token (EC-…) from the approval redirect |
+
+
+ + message ConfirmPayPalBoostResponse + + + +
+ +| + | Field | +Type | +Description | + +
|---|---|---|---|
|
+
+ oneof response
+
+ |
+ |||
| + 1 + | ++ result + | +
+
+
+ org.signal.chat.one_time_donations.ConfirmPayPalBoostResponse.ConfirmPayPalBoostResult
+
+
+ |
+ + + |
| + 2 + | ++ amount_below_minimum + | +
+
+
+ org.signal.chat.one_time_donations.AmountBelowMinimumError
+
+
+ |
+ The amount is below the minimum for the currency |
+
+
| + 3 + | ++ unsupported_currency + | +
+
+
+ org.signal.chat.errors.FailedPrecondition
+
+
+ |
+ The requested currency is not supported for PayPal |
+
+
| + 4 + | ++ unsupported_level + | +
+
+
+ org.signal.chat.errors.FailedPrecondition
+
+
+ |
+ The requested level is not a valid one-time donation level |
+
+
+
+ message ConfirmPayPalBoostResult
+
+
(Nested in org.signal.chat.one_time_donations.ConfirmPayPalBoostResponse
+ )
+
+
+
+
+
+| + | Field | +Type | +Description | + +
|---|---|---|---|
| 1 | ++ payment_id + | +
+
+
+ string
+
+ |
+ + + |
+ + message CreateBoostReceiptCredentialsRequest + + + +
+ +| + | Field | +Type | +Description | + +
|---|---|---|---|
| 1 | ++ payment_intent_id + | +
+
+
+ string
+
+ |
+ a payment ID from the processor |
+
+
| 2 | ++ receipt_credential_request + | +
+
+
+ bytes
+
+ |
+ ZK blind-signature receipt credential request bytes |
+
+
| 3 | ++ processor + | +
+
+
+ org.signal.chat.subscriptions.PaymentProvider
+
+
+ |
+ The processor that handled the payment |
+
+
+ + message CreateBoostReceiptCredentialsResponse + + + +
+ +| + | Field | +Type | +Description | + +
|---|---|---|---|
|
+
+ oneof response
+
+ |
+ |||
| + 1 + | ++ result + | +
+
+
+ org.signal.chat.one_time_donations.CreateBoostReceiptCredentialsResponse.CreateBoostReceiptCredentialsResult
+
+
+ |
+ + + |
| + 2 + | ++ payment_still_processing + | +
+
+
+ org.signal.chat.errors.FailedPrecondition
+
+
+ |
+ Payment is still processing; client should retry |
+
+
| + 3 + | ++ payment_required + | +
+
+
+ org.signal.chat.subscriptions.PaymentRequired
+
+
+ |
+ Payment failed |
+
+
| + 4 + | ++ payment_not_found + | +
+
+
+ org.signal.chat.errors.NotFound
+
+
+ |
+ Payment intent not found |
+
+
| + 5 + | ++ receipt_already_issued + | +
+
+
+ org.signal.chat.errors.FailedPrecondition
+
+
+ |
+ A receipt credential was already issued for this payment |
+
+
+
+ message CreateBoostReceiptCredentialsResult
+
+
(Nested in org.signal.chat.one_time_donations.CreateBoostReceiptCredentialsResponse
+ )
+
+
+
+
+
+| + | Field | +Type | +Description | + +
|---|---|---|---|
| 1 | ++ receipt_credential_response + | +
+
+
+ bytes
+
+ |
+ + + |
+ + message CreateBoostRequest + + + +
+ +| + | Field | +Type | +Description | + +
|---|---|---|---|
| 1 | ++ currency + | +
+
+
+ string
+
+ |
+ ISO 4217 currency code, case-insensitive (e.g. "usd", "EUR") |
+
+
| 2 | ++ amount + | +
+
+
+ uint64
+
+ |
+ The amount to pay in the currency's minor unit |
+
+
| 3 | ++ level + | +
+
+
+ uint64
+
+ |
+ The level for the boost payment |
+
+
| 4 | ++ payment_method + | +
+
+
+ org.signal.chat.subscriptions.PaymentMethod
+
+
+ |
+ The payment method |
+
+
| 5 | ++ donation_permit + | +
+
+
+ bytes
+
+ |
+ A donation permit retrieved from Donations.createDonationPermit |
+
+
+ + message CreateBoostResponse + + + +
+ +| + | Field | +Type | +Description | + +
|---|---|---|---|
|
+
+ oneof response
+
+ |
+ |||
| + 1 + | ++ client_secret + | +
+
+
+ string
+
+ |
+ A client secret that can be used to complete a stripe PaymentIntent |
+
+
| + 2 + | ++ amount_below_minimum + | +
+
+
+ org.signal.chat.one_time_donations.AmountBelowMinimumError
+
+
+ |
+ The amount is below the minimum for the currency |
+
+
| + 3 + | ++ amount_above_sepa_limit + | +
+
+
+ org.signal.chat.one_time_donations.AmountAboveSepaLimitError
+
+
+ |
+ The amount exceeds the maximum for SEPA Direct Debit |
+
+
| + 4 + | ++ unsupported_currency + | +
+
+
+ org.signal.chat.errors.FailedPrecondition
+
+
+ |
+ The requested currency is not supported for the given payment method |
+
+
| + 5 + | ++ unsupported_level + | +
+
+
+ org.signal.chat.errors.FailedPrecondition
+
+
+ |
+ The requested level is not a valid one-time donation level |
+
+
| + 6 + | ++ permit_rejected + | +
+
+
+ org.signal.chat.errors.FailedZkAuthentication
+
+
+ |
+ Donation permit was invalid or already spent |
+
+
+ + message CreatePayPalBoostRequest + + + +
+ +| + | Field | +Type | +Description | + +
|---|---|---|---|
| 1 | ++ currency + | +
+
+
+ string
+
+ |
+ ISO 4217 currency code, case-insensitive (e.g. "usd", "EUR") |
+
+
| 2 | ++ amount + | +
+
+
+ uint64
+
+ |
+ Amount in the currency's minor unit (e.g. cents for USD), must be >= 1 |
+
+
| 3 | ++ level + | +
+
+
+ uint64
+
+ |
+ Donation level. |
+
+
| 4 | ++ return_url + | +
+
+
+ string
+
+ |
+ URL to redirect the user to after PayPal approval |
+
+
| 5 | ++ cancel_url + | +
+
+
+ string
+
+ |
+ URL to redirect the user to if they cancel |
+
+
+ + message CreatePayPalBoostResponse + + + +
+ +| + | Field | +Type | +Description | + +
|---|---|---|---|
|
+
+ oneof response
+
+ |
+ |||
| + 1 + | ++ result + | +
+
+
+ org.signal.chat.one_time_donations.CreatePayPalBoostResponse.CreatePayPalBoostResult
+
+
+ |
+ + + |
| + 2 + | ++ amount_below_minimum + | +
+
+
+ org.signal.chat.one_time_donations.AmountBelowMinimumError
+
+
+ |
+ The amount is below the minimum for the currency |
+
+
| + 3 + | ++ unsupported_currency + | +
+
+
+ org.signal.chat.errors.FailedPrecondition
+
+
+ |
+ The requested currency is not supported for PayPal |
+
+
| + 4 + | ++ unsupported_level + | +
+
+
+ org.signal.chat.errors.FailedPrecondition
+
+
+ |
+ The requested level is not a valid one-time donation level |
+
+
+
+ message CreatePayPalBoostResult
+
+
(Nested in org.signal.chat.one_time_donations.CreatePayPalBoostResponse
+ )
+
+
+
+
+
+| + | Field | +Type | +Description | + +
|---|---|---|---|
| 1 | ++ approval_url + | +
+
+
+ string
+
+ |
+ + + |
| 2 | ++ payment_id + | +
+
+
+ string
+
+ |
+ + + |