Skip to main content

AsyncAPI for subscription service 0.1.0 documentation

Published Messages (subscription)

The service publishes one of these messages below.

subscribed

Message is sent when user subscribe a subscription. Contains fields from event and the following payload.

Example value
{
"payload": {
"subscription": {
"id": "string",
"namespace": "string",
"userId": "string",
"itemId": "string",
"sku": "string",
"title": "string",
"currency": {
"currencyCode": "string",
"currencySymbol": "string",
"currencyType": "REAL",
"namespace": "string",
"decimals": 0
},
"price": 0,
"trialPrice": 0,
"recurring": {
"cycle": "WEEKLY",
"fixedFreeDays": 0,
"fixedTrialCycles": 0,
"graceDays": 7
},
"status": "INIT",
"chargeStatus": "NEVER",
"nextBillingDate": "2019-08-24T14:15:22Z",
"currentPeriodStart": "2019-08-24T14:15:22Z",
"currentPeriodEnd": "2019-08-24T14:15:22Z",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"currentCycle": 0,
"chargedCycles": 0,
"trialedCycles": 0,
"inFixedFreeDays": true,
"inFixedCycleTrial": true,
"firstSubscribe": true,
"paid": true,
"subscribedBy": "USER",
"subscribedAt": "2019-08-24T14:15:22Z",
"unsubscribedAt": "2019-08-24T14:15:22Z",
"unsubscribeReason": "string",
"source": "string",
"region": "string",
"language": "string",
"sandbox": true,
"createdAt": "2019-08-24T14:15:22Z",
"updateAt": "2019-08-24T14:15:22Z"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}

payload

NameTypeDescription
subscriptionsubscription-

cancelled

Message is sent when a subscription is cancelled. Contains fields from event and the following payload.

Example value
{
"payload": {
"subscription": {
"id": "string",
"namespace": "string",
"userId": "string",
"itemId": "string",
"sku": "string",
"title": "string",
"currency": {
"currencyCode": "string",
"currencySymbol": "string",
"currencyType": "REAL",
"namespace": "string",
"decimals": 0
},
"price": 0,
"trialPrice": 0,
"recurring": {
"cycle": "WEEKLY",
"fixedFreeDays": 0,
"fixedTrialCycles": 0,
"graceDays": 7
},
"status": "INIT",
"chargeStatus": "NEVER",
"nextBillingDate": "2019-08-24T14:15:22Z",
"currentPeriodStart": "2019-08-24T14:15:22Z",
"currentPeriodEnd": "2019-08-24T14:15:22Z",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"currentCycle": 0,
"chargedCycles": 0,
"trialedCycles": 0,
"inFixedFreeDays": true,
"inFixedCycleTrial": true,
"firstSubscribe": true,
"paid": true,
"subscribedBy": "USER",
"subscribedAt": "2019-08-24T14:15:22Z",
"unsubscribedAt": "2019-08-24T14:15:22Z",
"unsubscribeReason": "string",
"source": "string",
"region": "string",
"language": "string",
"sandbox": true,
"createdAt": "2019-08-24T14:15:22Z",
"updateAt": "2019-08-24T14:15:22Z"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}

payload

NameTypeDescription
subscriptionsubscription-

immediateCancelled

Message is sent when a subscription is cancelled immediately. Contains fields from event and the following payload.

Example value
{
"payload": {
"subscription": {
"id": "string",
"namespace": "string",
"userId": "string",
"itemId": "string",
"sku": "string",
"title": "string",
"currency": {
"currencyCode": "string",
"currencySymbol": "string",
"currencyType": "REAL",
"namespace": "string",
"decimals": 0
},
"price": 0,
"trialPrice": 0,
"recurring": {
"cycle": "WEEKLY",
"fixedFreeDays": 0,
"fixedTrialCycles": 0,
"graceDays": 7
},
"status": "INIT",
"chargeStatus": "NEVER",
"nextBillingDate": "2019-08-24T14:15:22Z",
"currentPeriodStart": "2019-08-24T14:15:22Z",
"currentPeriodEnd": "2019-08-24T14:15:22Z",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"currentCycle": 0,
"chargedCycles": 0,
"trialedCycles": 0,
"inFixedFreeDays": true,
"inFixedCycleTrial": true,
"firstSubscribe": true,
"paid": true,
"subscribedBy": "USER",
"subscribedAt": "2019-08-24T14:15:22Z",
"unsubscribedAt": "2019-08-24T14:15:22Z",
"unsubscribeReason": "string",
"source": "string",
"region": "string",
"language": "string",
"sandbox": true,
"createdAt": "2019-08-24T14:15:22Z",
"updateAt": "2019-08-24T14:15:22Z"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}

payload

NameTypeDescription
subscriptionsubscription-

resubscribed

Message is sent when user resubscribe a subscription. Contains fields from event and the following payload.

Example value
{
"payload": {
"subscription": {
"id": "string",
"namespace": "string",
"userId": "string",
"itemId": "string",
"sku": "string",
"title": "string",
"currency": {
"currencyCode": "string",
"currencySymbol": "string",
"currencyType": "REAL",
"namespace": "string",
"decimals": 0
},
"price": 0,
"trialPrice": 0,
"recurring": {
"cycle": "WEEKLY",
"fixedFreeDays": 0,
"fixedTrialCycles": 0,
"graceDays": 7
},
"status": "INIT",
"chargeStatus": "NEVER",
"nextBillingDate": "2019-08-24T14:15:22Z",
"currentPeriodStart": "2019-08-24T14:15:22Z",
"currentPeriodEnd": "2019-08-24T14:15:22Z",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"currentCycle": 0,
"chargedCycles": 0,
"trialedCycles": 0,
"inFixedFreeDays": true,
"inFixedCycleTrial": true,
"firstSubscribe": true,
"paid": true,
"subscribedBy": "USER",
"subscribedAt": "2019-08-24T14:15:22Z",
"unsubscribedAt": "2019-08-24T14:15:22Z",
"unsubscribeReason": "string",
"source": "string",
"region": "string",
"language": "string",
"sandbox": true,
"createdAt": "2019-08-24T14:15:22Z",
"updateAt": "2019-08-24T14:15:22Z"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}

payload

NameTypeDescription
subscriptionsubscription-

daysGranted

Message is sent when grant days to subscription. Contains fields from event and the following payload.

Example value
{
"payload": {
"subscription": {
"id": "string",
"namespace": "string",
"userId": "string",
"itemId": "string",
"sku": "string",
"title": "string",
"currency": {
"currencyCode": "string",
"currencySymbol": "string",
"currencyType": "REAL",
"namespace": "string",
"decimals": 0
},
"price": 0,
"trialPrice": 0,
"recurring": {
"cycle": "WEEKLY",
"fixedFreeDays": 0,
"fixedTrialCycles": 0,
"graceDays": 7
},
"status": "INIT",
"chargeStatus": "NEVER",
"nextBillingDate": "2019-08-24T14:15:22Z",
"currentPeriodStart": "2019-08-24T14:15:22Z",
"currentPeriodEnd": "2019-08-24T14:15:22Z",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"currentCycle": 0,
"chargedCycles": 0,
"trialedCycles": 0,
"inFixedFreeDays": true,
"inFixedCycleTrial": true,
"firstSubscribe": true,
"paid": true,
"subscribedBy": "USER",
"subscribedAt": "2019-08-24T14:15:22Z",
"unsubscribedAt": "2019-08-24T14:15:22Z",
"unsubscribeReason": "string",
"source": "string",
"region": "string",
"language": "string",
"sandbox": true,
"createdAt": "2019-08-24T14:15:22Z",
"updateAt": "2019-08-24T14:15:22Z"
},
"grantDays": 0
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}

payload

NameTypeDescription
subscriptionsubscription-
grantDaysinteger-

charged

Message is sent when billing is charged. Contains fields from event and the following payload.

Example value
{
"payload": {
"subscription": {
"id": "string",
"namespace": "string",
"userId": "string",
"itemId": "string",
"sku": "string",
"title": "string",
"currency": {
"currencyCode": "string",
"currencySymbol": "string",
"currencyType": "REAL",
"namespace": "string",
"decimals": 0
},
"price": 0,
"trialPrice": 0,
"recurring": {
"cycle": "WEEKLY",
"fixedFreeDays": 0,
"fixedTrialCycles": 0,
"graceDays": 7
},
"status": "INIT",
"chargeStatus": "NEVER",
"nextBillingDate": "2019-08-24T14:15:22Z",
"currentPeriodStart": "2019-08-24T14:15:22Z",
"currentPeriodEnd": "2019-08-24T14:15:22Z",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"currentCycle": 0,
"chargedCycles": 0,
"trialedCycles": 0,
"inFixedFreeDays": true,
"inFixedCycleTrial": true,
"firstSubscribe": true,
"paid": true,
"subscribedBy": "USER",
"subscribedAt": "2019-08-24T14:15:22Z",
"unsubscribedAt": "2019-08-24T14:15:22Z",
"unsubscribeReason": "string",
"source": "string",
"region": "string",
"language": "string",
"sandbox": true,
"createdAt": "2019-08-24T14:15:22Z",
"updateAt": "2019-08-24T14:15:22Z"
},
"billing": {
"paymentProvider": "WALLET",
"paymentMethod": "string",
"amount": 0,
"totalTax": 0,
"totalPrice": 0,
"subtotalPrice": 0,
"recurringOrderNo": "string",
"paymentOrderNo": "string",
"txEndTime": "2019-08-24T14:15:22Z",
"extTxId": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}

payload

NameTypeDescription
subscriptionsubscription-
billingbilling-

chargeFailed

Message is sent when billing is charge failed. Contains fields from event and the following payload.

Example value
{
"payload": {
"subscription": {
"id": "string",
"namespace": "string",
"userId": "string",
"itemId": "string",
"sku": "string",
"title": "string",
"currency": {
"currencyCode": "string",
"currencySymbol": "string",
"currencyType": "REAL",
"namespace": "string",
"decimals": 0
},
"price": 0,
"trialPrice": 0,
"recurring": {
"cycle": "WEEKLY",
"fixedFreeDays": 0,
"fixedTrialCycles": 0,
"graceDays": 7
},
"status": "INIT",
"chargeStatus": "NEVER",
"nextBillingDate": "2019-08-24T14:15:22Z",
"currentPeriodStart": "2019-08-24T14:15:22Z",
"currentPeriodEnd": "2019-08-24T14:15:22Z",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"currentCycle": 0,
"chargedCycles": 0,
"trialedCycles": 0,
"inFixedFreeDays": true,
"inFixedCycleTrial": true,
"firstSubscribe": true,
"paid": true,
"subscribedBy": "USER",
"subscribedAt": "2019-08-24T14:15:22Z",
"unsubscribedAt": "2019-08-24T14:15:22Z",
"unsubscribeReason": "string",
"source": "string",
"region": "string",
"language": "string",
"sandbox": true,
"createdAt": "2019-08-24T14:15:22Z",
"updateAt": "2019-08-24T14:15:22Z"
},
"billing": {
"paymentProvider": "WALLET",
"paymentMethod": "string",
"amount": 0,
"totalTax": 0,
"totalPrice": 0,
"subtotalPrice": 0,
"recurringOrderNo": "string",
"paymentOrderNo": "string",
"txEndTime": "2019-08-24T14:15:22Z",
"extTxId": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}

payload

NameTypeDescription
subscriptionsubscription-
billingbilling-

expired

Message is sent when subscription is expired. Contains fields from event and the following payload.

Example value
{
"payload": {
"subscription": {
"id": "string",
"namespace": "string",
"userId": "string",
"itemId": "string",
"sku": "string",
"title": "string",
"currency": {
"currencyCode": "string",
"currencySymbol": "string",
"currencyType": "REAL",
"namespace": "string",
"decimals": 0
},
"price": 0,
"trialPrice": 0,
"recurring": {
"cycle": "WEEKLY",
"fixedFreeDays": 0,
"fixedTrialCycles": 0,
"graceDays": 7
},
"status": "INIT",
"chargeStatus": "NEVER",
"nextBillingDate": "2019-08-24T14:15:22Z",
"currentPeriodStart": "2019-08-24T14:15:22Z",
"currentPeriodEnd": "2019-08-24T14:15:22Z",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"currentCycle": 0,
"chargedCycles": 0,
"trialedCycles": 0,
"inFixedFreeDays": true,
"inFixedCycleTrial": true,
"firstSubscribe": true,
"paid": true,
"subscribedBy": "USER",
"subscribedAt": "2019-08-24T14:15:22Z",
"unsubscribedAt": "2019-08-24T14:15:22Z",
"unsubscribeReason": "string",
"source": "string",
"region": "string",
"language": "string",
"sandbox": true,
"createdAt": "2019-08-24T14:15:22Z",
"updateAt": "2019-08-24T14:15:22Z"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}

payload

NameTypeDescription
subscriptionsubscription-

billingAccountChanged

Message is sent when billing account is changed. Contains fields from event and the following payload.

Example value
{
"payload": {
"subscription": {
"id": "string",
"namespace": "string",
"userId": "string",
"itemId": "string",
"sku": "string",
"title": "string",
"currency": {
"currencyCode": "string",
"currencySymbol": "string",
"currencyType": "REAL",
"namespace": "string",
"decimals": 0
},
"price": 0,
"trialPrice": 0,
"recurring": {
"cycle": "WEEKLY",
"fixedFreeDays": 0,
"fixedTrialCycles": 0,
"graceDays": 7
},
"status": "INIT",
"chargeStatus": "NEVER",
"nextBillingDate": "2019-08-24T14:15:22Z",
"currentPeriodStart": "2019-08-24T14:15:22Z",
"currentPeriodEnd": "2019-08-24T14:15:22Z",
"start": "2019-08-24T14:15:22Z",
"end": "2019-08-24T14:15:22Z",
"currentCycle": 0,
"chargedCycles": 0,
"trialedCycles": 0,
"inFixedFreeDays": true,
"inFixedCycleTrial": true,
"firstSubscribe": true,
"paid": true,
"subscribedBy": "USER",
"subscribedAt": "2019-08-24T14:15:22Z",
"unsubscribedAt": "2019-08-24T14:15:22Z",
"unsubscribeReason": "string",
"source": "string",
"region": "string",
"language": "string",
"sandbox": true,
"createdAt": "2019-08-24T14:15:22Z",
"updateAt": "2019-08-24T14:15:22Z"
},
"billing": {
"paymentProvider": "WALLET",
"paymentMethod": "string",
"amount": 0,
"totalTax": 0,
"totalPrice": 0,
"subtotalPrice": 0,
"recurringOrderNo": "string",
"paymentOrderNo": "string",
"txEndTime": "2019-08-24T14:15:22Z",
"extTxId": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string"
}

payload

NameTypeDescription
subscriptionsubscription-
billingbilling-

Schemas

subscription

NameTypeDescription
idstringid
namespacestringnamespace
userIdstringuser id
itemIdstringitem id
skustringsku
titlestringtitle
currencyobject-
priceintegernormal price
trialPriceintegertrial price
recurringobject-
statusstringstatus
chargeStatusstringcharge status
nextBillingDatestring (date-time)next billing date
currentPeriodStartstring (date-time)current period start time
currentPeriodEndstring (date-time)current period end time
startstring (date-time)start date, the first time subscribed
endstring (date-time)end time if exists
currentCycleintegercurrent cycle
chargedCyclesintegeralready charged cycles
trialedCyclesintegeralready trialed cycles if fixedCycleTrial exists
inFixedFreeDaysbooleanwhether in fixed free days
inFixedCycleTrialbooleanwhether in fixed cycle trial
firstSubscribebooleanindicates whether is first subscribe
paidbooleanwhether user paid from the subscription start
subscribedBystringsubscribed by PLATFORM(system granted) or USER(subscribed by user self)
subscribedAtstring (date-time)time when subscribed
unsubscribedAtstring (date-time)time when unsubscribed
unsubscribeReasonstringreason why unsubscribe
sourcestringsource
regionstringcreated region
languagestringcreated language
sandboxbooleanis sandbox mode
createdAtstring (date-time)-
updateAtstring (date-time)-

currency

NameTypeDescription
currencyCodestringcurrency code
currencySymbolstringcurrency symbol
currencyTypestringcurrency type
namespacestringnamespace
decimalsinteger (int32)decimals

recurring

NameTypeDescription
cyclestringrecurring cycle
fixedFreeDaysinteger (int32)fixed free days, 0 means not set
fixedTrialCyclesinteger (int32)fixed trial cycles, 0 means not set
graceDaysinteger (int32)recurring grace days, retry recurring charge within configured days if charge fail, default 7

billing

NameTypeDescription
paymentProviderstringpayment provider
paymentMethodstringpayment method
amountintegercharge amount
totalTaxintegertotal tax
totalPriceintegertotal price
subtotalPriceintegersubtotal price
recurringOrderNostringrecurring order no for this billing
paymentOrderNostringpayment order no
txEndTimestring (date-time)transaction end time
extTxIdstringexternal transaction id

event

NameTypeDescription
idstring-
versioninteger-
namestring-
namespacestring-
parentNamespacestring-
timestampstring (date-time)-
clientIdstring-
userIdstring-
traceIdstring-
sessionIdstring-