lib/active_merchant/billing/gateways/cyber_source.rb in activemerchant-1.50.0 vs lib/active_merchant/billing/gateways/cyber_source.rb in activemerchant-1.51.0

- old
+ new

@@ -25,11 +25,11 @@ # calculating tax/VAT. # * All transactions use dollar values. # * To process pinless debit cards through the pinless debit card # network, your Cybersource merchant account must accept pinless # debit card payments. - # * The order of the XML elements does matter, make sure to follow the order in + # * The order of the XML elements does matter, make sure to follow the order in # the documentation exactly. class CyberSourceGateway < Gateway self.test_url = 'https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor' self.live_url = 'https://ics2ws.ic3.com/commerce/1.x/transactionProcessor' @@ -227,9 +227,27 @@ # Determines if a card can be used for Pinless Debit Card transactions def validate_pinless_debit_card(creditcard, options = {}) requires!(options, :order_id) commit(build_validate_pinless_debit_request(creditcard,options), options) + end + + def supports_scrubbing? + true + end + + def scrub(transcript) + transcript. + gsub(%r((<wsse:Password [^>]*>)[^<]*(</wsse:Password>))i, '\1[FILTERED]\2'). + gsub(%r((<accountNumber>)[^<]*(</accountNumber>))i, '\1[FILTERED]\2'). + gsub(%r((<cvNumber>)[^<]*(</cvNumber>))i, '\1[FILTERED]\2'). + gsub(%r((<cavv>)[^<]*(</cavv>))i, '\1[FILTERED]\2'). + gsub(%r((<xid>)[^<]*(</xid>))i, '\1[FILTERED]\2'). + gsub(%r((<authenticationData>)[^<]*(</authenticationData>))i, '\1[FILTERED]\2') + end + + def supports_network_tokenization? + true end private # Create all address hash key value pairs so that we still function if we