Trouble getting aMember to accept billing address

Discussion in 'Troubleshooting' started by sportswar, Jun 26, 2012.

  1. sportswar

    sportswar aMember Pro Customer

    Joined:
    Mar 1, 2010
    Messages:
    7
    Hi, folks -- I've had a problem with some of my customers not being able to get aMember to accept their billing address, even when they have entered it EXACTLY like it's shown on their credit card statement.

    We use Verisign for payment processing, so the problem might be there, but I thought I would make sure that we have aMember set up and functioning properly first.

    Here's an example -- this customer's transaction failed (all six times he tried it). When I go into his User Payments/Subscriptions page in the admin suite and select the "Not-Paid" transaction, here's part of the printout, showing one of the failed attempts:

    PARTNER Verisign
    USER * deleted for privacy *
    VENDOR * deleted for privacy *
    PWD *********
    AMT 54.99
    CURRENCY USD
    ACCT **** **** **** 5613
    EXPDATE 0813
    TENDER C
    TRXTYPE S
    COMMENT2 * deleted for privacy *
    COMMENT1 * deleted for privacy *
    NAME * deleted for privacy *
    STREET * deleted for privacy *
    ZIP * deleted for privacy *
    CVV2 ***
    X-VPS-REQUEST-ID 87c99f0b62707d35299b86604ff257ec


    RESULT 0
    PNREF VXHF9C5C2448
    RESPMSG Approved
    AUTHCODE 02215C
    AVSADDR N
    AVSZIP Y
    CVV2MATCH Y
    IAVS N
    PREFPSMSG No Rules Triggered
    POSTFPSMSG No Rules Triggered


    What jumps out at me is the RESPMSG "Approved" line. The customers receive a message that the transaction has failed due to address not matching, but these transactions actually show up on our customer's cards as charges, then they disappear.

    I've gone into PayPal Manager and have set address verification to its lowest level ... so I'm stumped. Any suggestions?
  2. alexander

    alexander Administrator Staff Member

    Joined:
    Jan 8, 2003
    Messages:
    6,274
    Payflow_pro plugin voids transactions that have AVS or CVV mismatch.
    If you want to disable this, edit /amember/plugins/payment/payflow_pro/payflow_pro.inc.php and change this block:
    PHP:
           if ($res['RESULT']=='0'){
                if (
    $charge_type == CC_CHARGE_TYPE_TEST){
                    
    /// void transaction if transaction type is test
                    
    $this->void_transaction($res['PNREF'], $log$request_id);
                } elseif (((
    $res['AVSADDR']=='N') || ($res['AVSZIP'] == 'N') || ($res[CVV2MATCH]=='N'))  && ($charge_type != CC_CHARGE_TYPE_RECURRING)) {
                     
    /// void transaction if there is AVS mismatch
                     
    $this->void_transaction($res['PNREF'], $log$request_id);
                     
    $msg _PLUG_PAY_PAYFLPRO_CCDECL;
                     return array(
    CC_RESULT_DECLINE_PERM$msg""$log);
                }
                return array(
    CC_RESULT_SUCCESS""$res['PNREF'], $log);
            } elseif (
    $res['RESULT'] > 0) {
                return array(
    CC_RESULT_DECLINE_PERM$res['RESPMSG'], ""$log);
            } else {
                return array(
    CC_RESULT_INTERNAL_ERROR$res['RESPMSG'], ""$log);
            }

    change it to:
    PHP:
           if ($res['RESULT']=='0'){
                if (
    $charge_type == CC_CHARGE_TYPE_TEST){
                    
    /// void transaction if transaction type is test
                    
    $this->void_transaction($res['PNREF'], $log$request_id);
                } elseif ((
    $res[CVV2MATCH]=='N')  && ($charge_type != CC_CHARGE_TYPE_RECURRING)) {
                     
    /// void transaction if there is AVS mismatch
                     
    $this->void_transaction($res['PNREF'], $log$request_id);
                     
    $msg _PLUG_PAY_PAYFLPRO_CCDECL;
                     return array(
    CC_RESULT_DECLINE_PERM$msg""$log);
                }
                return array(
    CC_RESULT_SUCCESS""$res['PNREF'], $log);
            } elseif (
    $res['RESULT'] > 0) {
                return array(
    CC_RESULT_DECLINE_PERM$res['RESPMSG'], ""$log);
            } else {
                return array(
    CC_RESULT_INTERNAL_ERROR$res['RESPMSG'], ""$log);
            }
  3. sportswar

    sportswar aMember Pro Customer

    Joined:
    Mar 1, 2010
    Messages:
    7
    Thanks, Alexander, I'll have our programmer give that a run. (Don't want to touch it myself.)

Share This Page