Updated CardPointe integration to comply with Fiserv requirements for production approval.
Requirement: Prompt for postal code for card-not-present transactions (fraud prevention and interchange optimization)
Implementation:
billing_postal field to payment form (app/views/app/quotes/payment.html.erb:59-64, 89-94)zip_code (from Company or Contact model)postal parameter in auth payloadRequirement: Prompt for CVV for card-not-present transactions
Status: Already implemented via CardPointe HIT iframe
usecvv=true parameterRequirement: Include appropriate ecomind value for card-not-present transactions
Status: Already implemented in app/services/payment_processors/fiserv_adapter.rb:394
"E" (E-commerce web or mobile application)Valid ecomind values:
T - Telephone or mail paymentR - Recurring billingE - E-commerce web or mobile application ← We use thisRequirement: Tokenize card data prior to sending auth request
Status: Already implemented using CardPointe Hosted iFrame Tokenizer (HIT)
app/views/app/quotes/payment.html.erbChanges:
billing_postal field for both Fiserv and Authorize.Net sections(@order.company || @order.contact).zip_codeLines: 59-64, 89-94
app/services/payment_processors/fiserv_adapter.rbChanges:
postal_code parameter to authorize_with_token method signaturepostal field to CardPointe auth payload[EXPIRY DEBUG] statements)Lines: 375-402, 417-461
app/controllers/app/quotes_controller.rbChanges:
billing_postal = params[:billing_postal] extractionpostal_code: billing_postal to authorize_with_token callLines: 289-308
postal field present in auth requestecomind: "E" in requestCARDPOINTE_API_URL=https://fts.cardconnect.comCARDPOINTE_MERCHANT_ID=<production_mid>CARDPOINTE_API_USERNAME=<prod_username>CARDPOINTE_API_PASSWORD=<prod_password>payment.html.erb:180
https://fts-uat.cardconnect.com → https://fts.cardconnect.compayment.html.erb:198
/fts-uat\.cardconnect\.com$/ → /fts\.cardconnect\.com$/| Requirement | Status | Implementation |
|---|---|---|
| postal | ✅ Implemented | Form field + API parameter |
| cvv2 | ✅ Already Compliant | HIT iframe with usecvv=true |
| ecomind | ✅ Already Compliant | Set to "E" in adapter |
| Tokenization | ✅ Already Compliant | CardPointe HIT iframe |
Fiserv Integration Delivery:
Implementation Date: October 9, 2025 Status: Ready for Production Approval