Payload review and production cutover

Payload quality checks, routing rules, and the production cutover checklist.

Part of the Certification guide. Mark your scope on that page before you run these cases. Base payloads and test cards are on the Reference page.


14. Payload quality review

Applies to: CORE. The Solutions engineer reviews 5 CIT requests and 5 MIT requests received by the sandbox during Sections 3 to 7, selected by orderId. You do not need to send request logs. Each check is pass or fail.

Reference: /evaluate request parameters (field table with optimization ranks), Payload examples.

14.1 Field checks

IDCheckApplies toPass condition
PAYLOAD-01Amount unitCOREtransaction.amount is in cents
PAYLOAD-02Decline contextCOREisDeclined is true; responseCode and responseDescription carry the raw processor values, not normalized text; responseCodeSource and cardNotPresent are set
PAYLOAD-03Verification resultsCOREavsResultCode and cvvResultCode are populated from the original decline when the processor returned them
PAYLOAD-04Card metadataCOREcardBrand, cardType, cardCountry, cardBinNumber, cardLast4Digits, expiry, and holderName are present and consistent with the card
PAYLOAD-05CVV on CITCIT-PURCHASE, CIT-AUTHORIZEverificationValue is present whenever the merchant captured it at checkout
PAYLOAD-06Customer IP on CITCIT-PURCHASE, CIT-AUTHORIZEcustomerIp is the cardholder client IP, not a server or proxy IP
PAYLOAD-07No CVV or IP on MITMIT-ASYNC-PURCHASE, MIT-ASYNC-AUTHORIZE, SYNC-MITverificationValue and customerIp are absent
PAYLOAD-08Subscription objectMIT-ASYNC-PURCHASE, MIT-ASYNC-AUTHORIZE, SYNC-MITsubscription.subscriptionId, price, currency, interval, and schemeTransactionId from the original CIT are present
PAYLOAD-09MIT flagsMIT-ASYNC-PURCHASE, MIT-ASYNC-AUTHORIZE, SYNC-MITisMIT and isRecurring are true
PAYLOAD-10Attempt countCOREattemptCount is the merchant attempt number for the order, starting at 1, and increases by 1 on each later attempt for the same orderId
PAYLOAD-11Site IDCOREsiteId matches the descriptor the merchant order belongs to
PAYLOAD-12Device detailsCIT-PURCHASE, CIT-AUTHORIZEWhen deviceDetails is present, all 5 child fields are present
PAYLOAD-13Merchant objectCOREmerchant.id, merchant.mcc, and merchant.country are present
PAYLOAD-14Processor nameCOREtransaction.processorName is present
PAYLOAD-15TimestampsCOREtransaction.timestampUtc is in UTC and timezoneUtcOffset is set
PAYLOAD-163DS passthroughCIT-PURCHASE, CIT-AUTHORIZEWhen 3DS ran on the original authorization, cavvResultCode and the threeDSecure object are present

14.2 Routing rules

Applies to: CORE. These rules determine which transactions reach /evaluate. Confirm each one in writing; the Solutions engineer also checks the received requests against them.

IDRulePass condition
ROUTING-01Declined transactions only, with no decline-code filteringAn approved transaction is never sent to /evaluate. All decline codes are sent; FlexFactor declines the categories it will not rescue at no cost to the merchant
ROUTING-02Eligible transactions onlyA declined transaction is sent only when the card is Visa or Mastercard, the currency is USD, and the transaction is card-not-present (no mobile wallet and no card-present)
ROUTING-03FlexFactor first among rescue stepsWhen other retry or cascade mechanisms exist, FlexFactor is called before them
ROUTING-04One submission per declineA declined transaction is submitted one time. A new decline in a later billing cycle carries a new orderId and a new idempotencyKey
ROUTING-05Site per descriptorEach merchant brand or descriptor maps to a distinct siteId; an omitted siteId lands the order on the default Site

15. Production cutover checks

Applies to: CORE. Complete after certification and before the first production transaction.

Reference: Workflows §6.

IDCheckPass condition
PROD-01Credentials swappedProduction MID, appKey, appSecret, Site ID, and Tokenization Key replace every sandbox value
PROD-02Base URLhttps://api.flexfactor.io/v1/
PROD-03Webhook endpointRegistered in the production portal and subscribed to the same events as the sandbox
PROD-04Production source IPs18.233.184.33 and 52.4.241.101 allowed
PROD-05Site IDs per descriptorOne production Site ID per merchant descriptor is provisioned and mapped
PROD-06First production transactionOne approved production rescue is confirmed with the Solutions engineer within 1 business day (FlexFactor calendar, US) of cutover


Did this page help you?