Adaptive Checkout
This service is capable of creating, modifying and deleting Adaptive Checkout rules. When a payment is created, these rules will be used to define which Payment Methods and Providers will be shown to the user.
Data schema
The schema of an Adaptive Checkout Rule is the following:
{
priority: Int,
ruleId: String,
enabledMethods: [
{
paymentMethod: String,
provider: String,
},
...
],
amount: {
currency: String,
min: Int,
max: Int,
},
matchInValues: [
{
key: String,
values: List<String>,
},
...
],
}
where priority
and ruleId
are required and must be unique, the others are optional.
priority
defines in which order the rules must be evaluated, the first one matching is used.ruleId
is a unique identifier; if it is equal todefault
and no rules match, it is used.enabledMethods
defines which methods are to be shown to the user;paymentMethod
must be a valid method for the associated provider and theprovider
must be enabled.At this moment the possible values are (paymentMethod → providers):
- Credit Card → Axerve, Unicredit, Adyen, Stripe
- Apple Pay → Axerve
- Google Pay → Axerve
- PayPal → Axerve, Braintree
- SafeCharge → SafeCharge
- Satispay → Axerve, Satispay
- Scalapay → Scalapay
- Soisy → Soisy
amount
defines the range between the payment amount must be to match the rule.matchInValues
defines customkey
which value must be in thevalues
list. Supportedkey
are:- Product Category
- Channel
- User Type
Endpoints /adaptive-checkout
Rule Details /rule-details
POST /add
Endpoint responsible to create a new Rule, the body accepted is an entire Adaptive Checkout Rule with one exception:
matchInValues.values
is a String, multiple values must be separated by a comma without trailing spaces, then they are split and inserted in the DB as a list.
POST /update
Body data schema:
{
_id: String,
priority: Int,
ruleId: String,
}
where _id
is the MongoDB identifier.
DELETE /delete/:id
The Path parameter id
is the MongoDB identifier.
Enabled Methods /payment-methods
POST /add
Body data schema:
{
id: String,
paymentMethod: String,
provider: String,
}
where id
is the MongoDB identifier.
POST /update
Body data schema:
{
id: String,
paymentMethod: String,
provider: String,
index: Int,
}
where id
is the MongoDB identifier and index
is the array index identifying the enabled methods to modify.
DELETE /delete
Body data schema:
{
id: String,
paymentMethod: String,
provider: String,
index: Int,
}
where id
is the MongoDB identifier and index
is the array index identifying the enabled methods to delete.
MatchInValues /custom-rules
Body data schema:
{
id: String,
key: String,
values: String,
}
where id
is the MongoDB identifier
POST /add
key
must not be already present in the rule.
POST /update
key
must not be already present in the rule.
DELETE /delete
key
must be present in the rule.
Amount Rule /amount-rules
Body data schema:
{
id: String,
currency: String,
min: Int,
max: Int,
}
where id
is the MongoDB identifier.
POST /update
This endpoint is used to add or update the Amount in the Adaptive Checkout Rule.
DELETE /delete
This endpoint is used to delete an Adaptive Checkout Rule.