Sift decisions
Sift order 'Pass' decision ID
Sift order '3DS' decision ID
Sift order 'Reject' decision ID
Field | Type |
---|---|
customerId | string |
customer.emailAddress | string |
$create_order
event on Sift.$create_transaction
event on SiftPass
3DS
(pre-authorization only)Reject
Fail
Sift workflow
order_looks_ok
and order_looks_bad
Sift decisionsSift workflow
Pass
outcome, set customer.emailAddress
to start with out_of_scope
.Reject
outcome, set customer.emailAddress
to start with fraud
.3DS
outcome, set customer.emailAddress
to start with sca
.Fail
outcome you will need to pass a request that is incorrect. An example of this is to set the currency
to something
as this field needs to be a recognised currency code.Pass
outcome, set customer.emailAddress
to equal test@approve.com
Reject
outcome, set customer.emailAddress
to equal test@decline.com
$create_account
event on Sift$update_account
event on Sift$link_session_to_user
event on SiftcustomerId
or orderId
.
ACCOUNT_CREATED
, ACCOUNT_UPDATED
or NO_ACCOUNT_ACTION_TAKEN
(if neither happened).
Below is an example of how this action could be used in a workflow
workflow
$create_account
and $update_account
events. If you do, then go to your Primer dashboard and to your Sift integration, and paste any relevant decision ID from Sift into the following fields:
Sift account 'Pass' decision ID
Sift account 'Monitor' decision ID
Sift account 'Reject' decision ID
customerId
when creating a client session.ACCOUNT_CREATED
and optionally would have a Sift decision_id
depending on whether you configured a Sift workflow to trigger on a $create_account
event.vaultOnSuccess
flag. This is to ensure if they use the same card, it won’t be seen as an “update” event.customer.emailAddress
, customer.billingAddress
or customer.shippingAddress
, these values will be mapped and sent to Sift for $create_account
events.customerId
when creating a client session, but they are using a new payment method, i.e. a new card that was not vaulted before.ACCOUNT_UPDATED
and optionally would have a Sift decision_id
depending on whether you configured a Sift workflow to trigger on an $update_account
event.NO_ACCOUNT_ACTION_TAKEN
and naturally there will be no decision_id
.Primer authorization workflow
ACCOUNT_CREATED
output on the Sift app, create a new payment using the client session mentioned above. Since you are also authorizing the payment, the card used should now be vaulted.ACCOUNT_UPDATED
output on the Sift app, create a new payment using the client session mentioned above, however use a new test card (you can just change the expiration date and it should be considered to be “new”).NO_ACCOUNT_ACTION_TAKEN
output on the Sift app, Create a new payment using the same client session above and use the same payment method that was vaulted before.decision_id
on the output of the Sift action.
Sift | Primer |
---|---|
$api_key | API Key |
$user_id | payment.customerId |
$order_id | payment.orderId |
$user_email | payment.customer.emailAddress |
$amount | payment.amount |
$currency_code | payment.currencyCode |
$billing_address.$name | {payment.customer.billingAddress.firstName} {payment.customer.billingAddress.lastName} |
$billing_address.$address_1 | payment.customer.billingAddress.addressLine1 |
$billing_address.$address_2 | payment.customer.billingAddress.addressLine2 |
$billing_address.$city | payment.customer.billingAddress.city |
$billing_address.$region | payment.customer.billingAddress.state |
$billing_address.$country | payment.customer.billingAddress.countryCode |
$billing_address.$zipcode | payment.customer.billingAddress.postalCode |
$shipping_address.$name | {payment.customer.shippingAddress.firstName} {payment.customer.shippingAddress.lastName} |
$shipping_address.$address_1 | payment.customer.shippingAddress.addressLine1 |
$shipping_address.$address_2 | payment.customer.shippingAddress.addressLine2 |
$shipping_address.$city | payment.customer.shippingAddress.city |
$shipping_address.$region | payment.customer.shippingAddress.state |
$shipping_address.$country | payment.customer.shippingAddress.countryCode |
$shipping_address.$zipcode | payment.customer.shippingAddress.postalCode |
$items[].$item_id | payment.order.lineItems[].itemId |
$items[].$product_title | payment.order.lineItems[].name |
$items[].$price | payment.order.lineItems[].amount |
$items[].$currency_code | payment.currencyCode |
$items[].$quantity | payment.order.lineItems[].quantity |
$items[].$sku | payment.order.lineItems[].productData.sku |
$items[].$brand | payment.order.lineItems[].productData.brand |
$items[].$color | payment.order.lineItems[].productData.color |
$browser.$user_agent | payment.metadata.fraud_context.device_details.user_agent |
$browser.$accept_language | payment.metadata.fraud_context.device_details.accept_language |
$merchant_profile.$merchant_id | payment.metadata.fraud_context.merchant_details.merchant_provider_id |
$merchant_profile.$merchant_category_code | payment.metadata.fraud_context.merchant_details.merchant_category_code |
$merchant_profile.$merchant_name | payment.metadata.fraud_context.merchant_details.merchant_name |
$session_id | payment.metadata.fraud_context.device_details.cookie_token |
$ip | payment.metadata.fraud_context.device_details.browser_ip |
Sift | Primer |
---|---|
$type | $transaction |
$transaction_type | $capture |
$transaction_status | Mapped from the payment status |
$transaction_id | ID of the first transaction |
Sift | Primer |
---|---|
$payment_methods[0].$payment_type | $credit_card |
$payment_methods[0].$card_bin | Card first 6 digits |
$payment_methods[0].$card_last4 | Card last 4 digits |
$payment_methods[0].$avs_result_code | AVS result code |
$payment_methods[0].$cvv_result_code | CVV result code |
Sift | Primer |
---|---|
$payment_methods[0].$payment_type | $third_party_processor |
$payment_methods[0].$payment_gateway | $paypal |
$payment_methods[0].$paypal_payer_id | PayPal Payer ID |
$payment_methods[0].$paypal_payer_email | PayPal email address |
$payment_methods[0].$paypal_payer_status | PayPal status |
Sift | Primer |
---|---|
$payment_methods[0].$payment_type | Depends on the payment method |
$payment_methods[0].$payment_gateway | Depends on the payment method |
payment_method
,
browser
and merchant_profile
.