Updating documentation
This commit is contained in:
parent
1dd2050c47
commit
eb97cb07c0
|
@ -2875,6 +2875,14 @@ paths:
|
||||||
get:
|
get:
|
||||||
tags:
|
tags:
|
||||||
- Subscriptions
|
- Subscriptions
|
||||||
|
summary: Subscription information
|
||||||
|
description: |
|
||||||
|
Returns information about the current subscription associated with the provided subscriberId if one exists.
|
||||||
|
|
||||||
|
Although it uses [Stripe’s values](https://stripe.com/docs/billing/subscriptions/overview#subscription-statuses),
|
||||||
|
the status field in the response is generic, with [Braintree-specific values](https://developer.paypal.com/braintree/docs/guides/recurring-billing/overview#subscription-statuses) mapped
|
||||||
|
to Stripe's. Since we don’t support trials or unpaid subscriptions, the associated statuses will never be returned
|
||||||
|
by the API.
|
||||||
operationId: getSubscriptionInformation
|
operationId: getSubscriptionInformation
|
||||||
parameters:
|
parameters:
|
||||||
- name: subscriberId
|
- name: subscriberId
|
||||||
|
@ -2883,10 +2891,17 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
responses:
|
responses:
|
||||||
default:
|
"200":
|
||||||
description: default response
|
description: The subscriberId exists
|
||||||
content:
|
content:
|
||||||
application/json: {}
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/GetSubscriptionInformationResponse'
|
||||||
|
"403":
|
||||||
|
description: subscriberId authentication failure OR account authentication
|
||||||
|
is present
|
||||||
|
"404":
|
||||||
|
description: No such subscriberId exists or subscriberId is malformed
|
||||||
security:
|
security:
|
||||||
- authenticatedAccount: []
|
- authenticatedAccount: []
|
||||||
- {}
|
- {}
|
||||||
|
@ -3040,6 +3055,54 @@ paths:
|
||||||
security:
|
security:
|
||||||
- authenticatedAccount: []
|
- authenticatedAccount: []
|
||||||
- {}
|
- {}
|
||||||
|
/v1/subscription/{subscriberId}/playbilling/{purchaseToken}:
|
||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- Subscriptions
|
||||||
|
summary: Set a google play billing purchase token
|
||||||
|
description: |
|
||||||
|
Set a purchaseToken that represents an IAP subscription made with Google Play Billing.
|
||||||
|
|
||||||
|
To set up a subscription with Google Play Billing:
|
||||||
|
1. Create a subscriber with `PUT subscriptions/{subscriberId}` (you must regularly refresh this subscriber)
|
||||||
|
2. [Create a subscription](https://developer.android.com/google/play/billing/integrate) with Google Play Billing
|
||||||
|
directly and obtain a purchaseToken. Do not [acknowledge](https://developer.android.com/google/play/billing/integrate#subscriptions)
|
||||||
|
the purchaseToken.
|
||||||
|
3. `POST` the purchaseToken here
|
||||||
|
4. Obtain a receipt at `POST /v1/subscription/{subscriberId}/receipt_credentials` which can then be used to obtain the
|
||||||
|
entitlement
|
||||||
|
|
||||||
|
After calling this method, the payment is confirmed. Callers must durably store their subscriberId before calling
|
||||||
|
this method to ensure their payment is tracked.
|
||||||
|
operationId: setPlayStoreSubscription
|
||||||
|
parameters:
|
||||||
|
- name: subscriberId
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
- name: purchaseToken
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: The purchaseToken was validated and acknowledged
|
||||||
|
"402":
|
||||||
|
description: The purchaseToken payment is incomplete or invalid
|
||||||
|
"403":
|
||||||
|
description: subscriberId authentication failure OR account authentication
|
||||||
|
is present
|
||||||
|
"404":
|
||||||
|
description: No such subscriberId exists or subscriberId is malformed or
|
||||||
|
the purchaseToken does not exist
|
||||||
|
"409":
|
||||||
|
description: subscriberId is already linked to a processor that does not
|
||||||
|
support Play Billing. Delete this subscriberId and use a new one.
|
||||||
|
security:
|
||||||
|
- authenticatedAccount: []
|
||||||
|
- {}
|
||||||
/v1/subscription/{subscriberId}/level/{level}/{currency}/{idempotencyKey}:
|
/v1/subscription/{subscriberId}/level/{level}/{currency}/{idempotencyKey}:
|
||||||
put:
|
put:
|
||||||
tags:
|
tags:
|
||||||
|
@ -5137,7 +5200,7 @@ components:
|
||||||
$ref: '#/components/schemas/BackupLevelConfiguration'
|
$ref: '#/components/schemas/BackupLevelConfiguration'
|
||||||
description: A map of numeric backup level IDs to level-specific backup
|
description: A map of numeric backup level IDs to level-specific backup
|
||||||
configuration
|
configuration
|
||||||
backupFreeTierMediaDays:
|
freeTierMediaDays:
|
||||||
type: integer
|
type: integer
|
||||||
description: The number of days of media a free tier backup user gets
|
description: The number of days of media a free tier backup user gets
|
||||||
format: int64
|
format: int64
|
||||||
|
@ -5150,6 +5213,9 @@ components:
|
||||||
description: The amount of media storage in bytes that a paying subscriber
|
description: The amount of media storage in bytes that a paying subscriber
|
||||||
may store
|
may store
|
||||||
format: int64
|
format: int64
|
||||||
|
playProductId:
|
||||||
|
type: string
|
||||||
|
description: The play billing productID associated with this backup level
|
||||||
description: Configuration for a backup level - use to present appropriate client
|
description: Configuration for a backup level - use to present appropriate client
|
||||||
interfaces
|
interfaces
|
||||||
CurrencyConfiguration:
|
CurrencyConfiguration:
|
||||||
|
@ -5230,6 +5296,125 @@ components:
|
||||||
$ref: '#/components/schemas/Badge'
|
$ref: '#/components/schemas/Badge'
|
||||||
description: Configuration for a donation level - use to present appropriate
|
description: Configuration for a donation level - use to present appropriate
|
||||||
client interfaces
|
client interfaces
|
||||||
|
ChargeFailure:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
code:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
See [Stripe failure codes](https://stripe.com/docs/api/charges/object#charge_object-failure_code) or
|
||||||
|
[Braintree decline codes](https://developer.paypal.com/braintree/docs/reference/general/processor-responses/authorization-responses#decline-codes)
|
||||||
|
depending on which processor was used
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
See [Stripe failure codes](https://stripe.com/docs/api/charges/object#charge_object-failure_code) or
|
||||||
|
[Braintree decline codes](https://developer.paypal.com/braintree/docs/reference/general/processor-responses/authorization-responses#decline-codes)
|
||||||
|
depending on which processor was used
|
||||||
|
outcomeNetworkStatus:
|
||||||
|
type: string
|
||||||
|
externalDocs:
|
||||||
|
description: Outcome Network Status
|
||||||
|
url: https://stripe.com/docs/api/charges/object#charge_object-outcome-network_status
|
||||||
|
outcomeReason:
|
||||||
|
type: string
|
||||||
|
externalDocs:
|
||||||
|
description: Outcome Reason
|
||||||
|
url: https://stripe.com/docs/api/charges/object#charge_object-outcome-reason
|
||||||
|
outcomeType:
|
||||||
|
type: string
|
||||||
|
externalDocs:
|
||||||
|
description: Outcome Type
|
||||||
|
url: https://stripe.com/docs/api/charges/object#charge_object-outcome-type
|
||||||
|
description: |2
|
||||||
|
Meaningfully interpreting chargeFailure response fields requires inspecting the processor field first.
|
||||||
|
|
||||||
|
For Stripe, code will be one of the [codes defined here](https://stripe.com/docs/api/charges/object#charge_object-failure_code),
|
||||||
|
while message [may contain a further textual description](https://stripe.com/docs/api/charges/object#charge_object-failure_message).
|
||||||
|
The outcome fields are nullable, but present values will directly map to Stripe [response properties](https://stripe.com/docs/api/charges/object#charge_object-outcome-network_status)
|
||||||
|
|
||||||
|
For Braintree, the outcome fields will be null. The code and message will contain one of
|
||||||
|
- a processor decline code (as a string) in code, and associated text in message, as defined this [table](https://developer.paypal.com/braintree/docs/reference/general/processor-responses/authorization-responses)
|
||||||
|
- `gateway` in code, with a [reason](https://developer.paypal.com/braintree/articles/control-panel/transactions/gateway-rejections) in message
|
||||||
|
- `code` = "unknown", message = "unknown"
|
||||||
|
|
||||||
|
IAP payment processors will never include charge failure information, and detailed order information should be
|
||||||
|
retrieved from the payment processor directly
|
||||||
|
GetSubscriptionInformationResponse:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
subscription:
|
||||||
|
$ref: '#/components/schemas/Subscription'
|
||||||
|
chargeFailure:
|
||||||
|
$ref: '#/components/schemas/ChargeFailure'
|
||||||
|
Subscription:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
level:
|
||||||
|
type: integer
|
||||||
|
description: The subscription level
|
||||||
|
format: int64
|
||||||
|
billingCycleAnchor:
|
||||||
|
type: string
|
||||||
|
description: "If present, UNIX Epoch Timestamp in seconds, can be used to\
|
||||||
|
\ calculate next billing date. May be absent for IAP subscriptions"
|
||||||
|
format: date-time
|
||||||
|
externalDocs:
|
||||||
|
description: Calculate next billing date
|
||||||
|
url: https://stripe.com/docs/billing/subscriptions/billing-cycle
|
||||||
|
endOfCurrentPeriod:
|
||||||
|
type: string
|
||||||
|
description: "UNIX Epoch Timestamp in seconds, when the current subscription\
|
||||||
|
\ period ends"
|
||||||
|
format: date-time
|
||||||
|
active:
|
||||||
|
type: boolean
|
||||||
|
description: Whether there is a currently active subscription
|
||||||
|
cancelAtPeriodEnd:
|
||||||
|
type: boolean
|
||||||
|
description: "If true, an active subscription will not auto-renew at the\
|
||||||
|
\ end of the current period"
|
||||||
|
currency:
|
||||||
|
type: string
|
||||||
|
description: A three-letter ISO 4217 currency code for currency used in
|
||||||
|
the subscription
|
||||||
|
amount:
|
||||||
|
type: number
|
||||||
|
description: The amount paid for the subscription in the currency's smallest
|
||||||
|
unit
|
||||||
|
externalDocs:
|
||||||
|
description: Stripe Currencies
|
||||||
|
url: https://docs.stripe.com/currencies
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
description: "The subscription's status, mapped to Stripe's statuses. trialing\
|
||||||
|
\ will never be returned"
|
||||||
|
externalDocs:
|
||||||
|
description: Stripe subscription statuses
|
||||||
|
url: https://docs.stripe.com/billing/subscriptions/overview#subscription-statuses
|
||||||
|
processor:
|
||||||
|
type: string
|
||||||
|
description: The payment provider associated with the subscription
|
||||||
|
enum:
|
||||||
|
- STRIPE
|
||||||
|
- BRAINTREE
|
||||||
|
- GOOGLE_PLAY_BILLING
|
||||||
|
paymentMethod:
|
||||||
|
type: string
|
||||||
|
description: The payment method associated with the subscription
|
||||||
|
enum:
|
||||||
|
- UNKNOWN
|
||||||
|
- CARD
|
||||||
|
- PAYPAL
|
||||||
|
- SEPA_DEBIT
|
||||||
|
- IDEAL
|
||||||
|
- GOOGLE_PLAY_BILLING
|
||||||
|
paymentProcessing:
|
||||||
|
type: boolean
|
||||||
|
description: Whether the latest invoice for the subscription is in a non-terminal
|
||||||
|
state
|
||||||
|
description: "Information about the subscription, or null if no subscription\
|
||||||
|
\ is present"
|
||||||
VerificationSessionResponse:
|
VerificationSessionResponse:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|
Loading…
Reference in New Issue