Purchase API 3.17.1.2
DISCLAIMER
Product Information contained within this document, including technical information and functional specifications, is subject to change without notice. Naviga reserves the right to make any changes to the information in this document at any time without notice. Naviga makes no warranty, representation, or guarantee regarding the suitability of its products and services for any particular purpose.
Introduction
Currently, when a request is made to Purchases API, it utilizes the payment information, authorizes it, and captures the payment. Then the subscription request is submitted to the Circ system.
An extended flow of Purchase API has now been implemented wherein the authorization and capture will not be performed. Rather, when the processed payment information is provided by the consumer application, it is validated, and the same will be sent to Circ to create the subscription.
A flag parameter 'PaymentAuthCaptured” has been introduced to control this flow. If the value of this flag parameter is true, this modified extended flow of Purchases API will take precedence. The events AUTHCC and CCFUNDCAPTURE will not take place. If the flag value is false, the existing flow happens.
Purchases API
Call this endpoint to create a subscription. This applies only to versions from 3.17.1.2.
POST
/Purchases
Header
Authorization
string
Yes
Header
X-SourceSystem
string
Yes
Header
X-MediaGroupCode
string
Yes
Header
X-ClientCode
string
Yes
Header
X-PaperCode
string
Yes
Path
SubscriptionId
integer
Yes
Body
StartDate
datetime
Yes
Body
ExpirationDate
datetime
No
Body
CustomerRegistrationId
string
Yes
Body
EmailAddress
string
Yes
Body
OfferId
integer
Yes
Body
OfferGroupId
integer
Yes
Body
RecipientInformation.FirstName
string
No
Body
RecipientInformation.LastName
string
No
Body
RecipientInformation.Email
string
No
Body
RecipientInformation.GiftMessage
string
No
Body
DeliveryAddress.FirstName
string
No
Body
DeliveryAddress.LastName
string
No
Body
DeliveryAddress.Company
string
No
Body
DeliveryAddress.Address
string
No
Body
DeliveryAddress.AptNumber
string
No
Body
DeliveryAddress.AptUnit
string
No
Body
DeliveryAddress.City
string
No
Body
DeliveryAddress.State
string
No
Body
DeliveryAddress.ZipCode
string
No
Body
DeliveryAddress.CountryCode
string
No
Body
DeliveryAddress.Phone
string
No
Body
BillingAddress.FirstName
string
No
Body
BillingAddress.LastName
string
No
Body
BillingAddress.Company
string
No
Body
BillingAddress.Address
string
No
Body
BillingAddress.AptNumber
string
No
Body
BillingAddress.AptUnit
string
No
Body
BillingAddress.City
string
No
Body
BillingAddress.State
string
No
Body
BillingAddress.ZipCode
string
No
Body
BillingAddress.CountryCode
string
No
Body
BillingAddress.Phone
string
No
Body
PaymentTypeId
integer
No
Body
CreditCard.Type
string
No
Body
CreditCard.Number
string
No
Body
CreditCard.ExpirationYear
sting
No
Body
CreditCard.ExpirationMonth
string
No
Body
CreditCard.OwnerName
string
No
Body
BankAccount.AccountTyp
string
No
Body
BankAccount.InstitutionName
string
No
Body
BankAccount.AccountNumber
string
No
Body
BankAccount.RoutingNumber
string
No
Body
BankAccount.NumberLastFourDigits
string
No
Body
PayPalInfo.PayerId
string
No
Body
PayPalInfo.PaypalEmail
string
No
Body
PayPalInfo.ReturnUrl
string
No
Body
PayPalInfo.CancelUrl
string
No
Body
PayPalInfo.PaymentId
string
No
Body
SpreedlyInfo.RedirectUrl
string
No
Body
SpreedlyInfo.CallbackUrl
string
No
Body
SpreedlyInfo.BrowserInfo
string
No
Body
ActivateEZPay
boolean
No
Body
Amount.AmountCharged
decimal
No
Body
Amount.ActivationFee
decimal
No
Body
Amount.TaxAmount
decimal
No
Body
Amount.SubscriptionCost
decimal
No
Body
ExternalPaymentMethodId
string
No
Body
ExternalCustomerId
string
No
Body
ValidateAddress
boolean
No
Body
IgnoreExistingSubscriberCheck
boolean
No
Body
UserId
integer
No
Body
StartType
string
No
Body
PassPeriodDays
integer
No
Body
PassCode
string
No
Body
Products
Array
No
Body
Product.ExternalProductId
string
No
Body
Product.ProductQuantity
integer
No
Body
SalesPerson.SalesPersonCode
string
No
Body
SalesPerson.VendorId
string
No
Body
OfferCode
string
No
Body
LegacyAccountNumber
string
No
Body
PresentationName
string
No
Body
CouponCode
string
No
Body
StartReason
string
No
Body
TransactionId
string
No
Body
AuthorizationCode
string
No
Body
LocationName
string
No
Body
LocationId
string
No
Body
InitialCredit.Amount
decimal
No
Body
InitialCredit.Currency
string
No
Body
InitialCredit.Reason
string
No
Body
InitialCredit.Description
string
No
Body
EbillEmail
string
No
Body
SalesTeamId
integer
No
Body
Subscriber.Email
string
Yes
Body
Subscriber.FirstName
string
No
Body
Subscriber.LastName
string
Yes
Body
Subscriber.Title
string
No
Body
Subscriber.CompanyName
string
No
Body
Subscriber.CompanyType
string
No
Body
Subscriber.Phone
string
No
Body
Subscriber.Country
string
No
Body
ApplePayPayload
object
No
Body
GooglePayPayload
object
No
Body
SendEmail
boolean
No
Body
OneTimeUseCode
string
No
Body
Currency
string
No
Body
EBillSignUp
boolean
No
Body
PianoInfo.TermId
string
No
Body
ProcessSync
boolean
No
Body
CreateTermsConsentEvent
boolean
No
Body
Subscriber
object
No
Body
RegistrationCount
integer
No
Body
PaymentAuthCaptured
boolean
No
Body
PaymentInformation.PaymentSource
string
No
Body
PaymentInformation.CreditCardType
string
No
Body
PaymentInformation.CreditCardLastFourDigits
string
No
Body
PaymentInformation.CreditCardExpiratonYear
string
No
Body
PaymentInformation.CreditCardExpirationMonth
string
No
Body
PaymentInformation.CardHolderName
string
No
Body
PaymentInformation.TransactionId
string
No
Body
PaymentInformation.Token
string
No
Newly added Parameters in /Purchases API 3.17.1.2
New parameters have been added under a new object PaymentInformation and another parameter PaymentAuthCaptured (boolean) has been added to handle already proccessed ApplePay and Credit Card payments.
Note: By default, PaymentAuthCaptured will be 'false' and no values are expected in the PaymentInformation object. This is the setting for standard existing flow (Payment is captured by Subscribe).
If the payment is already authorized and captured outside Subscribe, the value of PaymentAuthCaptured should be 'true'. When 'true', the parameters under the new object PaymentInformation must be passed. If not, the request will fail.
PaymentAuthCaptured - boolean
Under PaymentInformation
PaymentSource -
For ApplePay: ApplePay or ApplePayMPAN
For GooglePay: GooglePay or Google pay
For Credit Card: NULL
CreditCardType - any of the below values is expected:
For ApplePay: amex, americanexpress, american express, apple pay - american express, Discover, apple pay - discover, mastercard, master card, apple pay - mastercard, visa, or apple pay - visa
For GooglePay: amex, americanexpress, american express, discover, master card, mastercard, visa
For credit card individual: AMEX, VISA, MASTERCARD, or DISCOVER
CreditCardLastFourDigits - The last four digits of the Credit Card
CreditCardExpiratonYear - Credit Card expiration year
CreditCardExpirationMonth - Credit Card expiration month
CardHolderName - Credit Cardholder name
TransactionId - Payment Transaction Id
Token - Payment Token Id
PaymentTypeId (existing parameter)
For ApplePay - 34
For GooglePay - 37
For CreditCard - 1
200 Responses
400/401/500 Error messages
Request Examples
Last updated
Was this helpful?