Rsl.Lotteries

<back to all web services

CreateCustomerSubscription

Create a subscription for the customer

The following routes are available for this service:
POST/subscriptions
CreateCustomerSubscription Parameters:
NameParameterData TypeRequiredDescription
CustomerIdbodystringYesCustomer for whom subscription to be created
StartFromArtUnionIdbodystringNoArtUnion / Draw from when Subscription would start. Optional
PlanbodystringYesSubscription plan
GameTypebodystringNoGamtype for of subscription plan.
PaymentMethodNoncebodystringNoPayment method nonce. Provide either nonce, token or funding source id.
PaymentMethodTokenbodystringNoPayment method token. Provide either nonce, token or funding source id.
CardholderNamebodystringNoCardholder name if specifying a credit card nonce
PaymentMethodbodyPaymentMethodType?NoPayment method type. Required unless using a nonce or token.
FundingSourceIdbodystringNoFunding source identifier. Provide either nonce, token or funding source id.
StartDatebodyDateTime?NoDate when subscription starts. Defaults to either start art union opening date or today.
EndDatebodyDateTime?NoDate when subscription ends
SubscribedDatebodyDateTime?NoDate when subscription was applied for. Defaults to now.
RequestReferencebodyRequestReferenceNoAttribution values associated to the request if any
PaymentMethodType Enum:
Cash
Cheque
MoneyOrder
CreditCard
PayPal
DirectDebit
Wallet
GooglePay
ApplePay
RequestReference Parameters:
NameParameterData TypeRequiredDescription
CampaignIdformstringNo
RetailChannelIdformstringYes
ReferenceIdformstringNo
Subscription Parameters:
NameParameterData TypeRequiredDescription
SubscriptionIdformstringNo
CustomerIdformstringNo
StartFromArtUnionIdformstringNo
PaymentMethodformPaymentMethodTypeNo
FundingSourceIdformstringNo
PlanformstringNo
GameTypeformstringNo
StartDateformDateTimeNo
EndDateformDateTime?No
SubscriptionSuspensionformIEnumerable<SubscriptionSuspension>No
StatusformSubscriptionStatusNo
SubscribedDateformDateTimeNo
CreditCardformCreditCardNo
GooglePayAccountformGooglePayAccountNo
ApplePayAccountformApplePayAccountNo
PayPalformPayPalAccountNo
ReasonCodeformstringNo
SubscriptionSuspension Parameters:
NameParameterData TypeRequiredDescription
SubscriptionIdformstringNo
StartDateformDateTimeNo
EndDateformDateTime?No
ReasonCodeformstringNo
SubscriptionStatus Enum:
Pending
Active
Suspended
Cancelled
CreditCard Parameters:
NameParameterData TypeRequiredDescription
CreditCardIdformstringNo
CardTokenformstringNo
TokenformstringNo
CardholderNameformstringNo
CardTypeformCreditCardTypeNo
UniqueNumberIdentifierformstringNo
ExpirationMonthformstringNo
ExpirationYearformstringNo
BinformstringNo
LastFourformstringNoThe last 4 digits of the credit card number
IsDefaultformboolNo
DisabledformboolNo
LastModifiedformDateTimeNo
CreditCardType Enum:
Unknown
AmericanExpress
CarteBlanche
ChinaUnionPay
DinersClub
Discover
JCB
Laser
Maestro
MasterCard
Solo
Switch
Visa
GooglePayAccount Parameters:
NameParameterData TypeRequiredDescription
UniqueCardIdformstringNo
SourceCardTypeformstringNo
CustomerIdformstringNo
ExpirationMonthformstringNo
ExpirationYearformstringNo
BinformstringNoThe first 6 digits of the credit card, known as the Bank Identification Number.
GoogleTransactionIdformstringNoThe last 4 digits of the credit card number
SourceCardLast4formstringNo
CardholderNameformstringNo
CreatedAtformDateTimeNoThe date/time the payment method was created
TokenformstringNoThe payment method token
DisabledformboolNo
IsDefaultformboolNo
ApplePayAccount Parameters:
NameParameterData TypeRequiredDescription
UniqueCardIdformstringNo
CardTypeformstringNo
CustomerIdformstringNo
ExpirationMonthformstringNo
ExpirationYearformstringNo
BinformstringNoThe first 6 digits of the credit card, known as the Bank Identification Number.
LastFourformstringNoThe last 4 digits of the credit card number
CardholderNameformstringNo
CreatedAtformDateTimeNoThe date/time the payment method was created
TokenformstringNo
IsDefaultformboolNo
DisabledformboolNo
PayPalAccount Parameters:
NameParameterData TypeRequiredDescription
PayPalAccountIdformstringNoThe unique identifier of the PayPal acount in Dynamics
TokenformstringNoThe payment method token
EmailformstringNoThe email address belonging to the Paypal account
BillingAgreementIdformstringNoThe unique identifier of the vaulted payment flow agreement between the customer's PayPal account and RSL PayPal business account
CreatedAtformDateTimeNoThe date/time the payment method was created
IsDefaultformboolNo
DisabledformboolNo
IsNewCustomerPayPalFeeformbool?NoWhether to apply a different fee for customer coming from PayPal

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /subscriptions HTTP/1.1 
Host: azs-stg-lotteries-web.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	customerId: String,
	startFromArtUnionId: String,
	plan: String,
	gameType: String,
	paymentMethodNonce: String,
	paymentMethodToken: String,
	cardholderName: String,
	paymentMethod: Cash,
	fundingSourceId: String,
	startDate: 0001-01-01,
	endDate: 0001-01-01,
	subscribedDate: 0001-01-01,
	requestReference: 
	{
		campaignId: String,
		retailChannelId: String,
		referenceId: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	subscriptionId: String,
	customerId: String,
	startFromArtUnionId: String,
	paymentMethod: Cash,
	fundingSourceId: String,
	plan: String,
	gameType: String,
	startDate: 0001-01-01,
	endDate: 0001-01-01,
	status: Pending,
	subscribedDate: 0001-01-01,
	creditCard: 
	{
		creditCardId: String,
		cardToken: String,
		token: String,
		cardholderName: String,
		cardType: Unknown,
		uniqueNumberIdentifier: String,
		expirationMonth: String,
		expirationYear: String,
		bin: String,
		lastFour: String,
		isDefault: False,
		disabled: False,
		lastModified: 0001-01-01
	},
	googlePayAccount: 
	{
		uniqueCardId: String,
		sourceCardType: String,
		customerId: String,
		expirationMonth: String,
		expirationYear: String,
		bin: String,
		googleTransactionId: String,
		sourceCardLast4: String,
		cardholderName: String,
		createdAt: 0001-01-01,
		token: String,
		disabled: False,
		isDefault: False
	},
	applePayAccount: 
	{
		uniqueCardId: String,
		cardType: String,
		customerId: String,
		expirationMonth: String,
		expirationYear: String,
		bin: String,
		lastFour: String,
		cardholderName: String,
		createdAt: 0001-01-01,
		token: String,
		isDefault: False,
		disabled: False
	},
	payPal: 
	{
		payPalAccountId: String,
		token: String,
		email: String,
		billingAgreementId: String,
		createdAt: 0001-01-01,
		isDefault: False,
		disabled: False,
		isNewCustomerPayPalFee: False
	},
	reasonCode: String
}