Follow

Address Verification, CVV & Fraud Prevention

Verify the address and cvv code for a card.

Address Verification (AVS) Example

The Address Verification System (AVS) is a system used to verify the address of a person claiming to own a credit card. The system will check the billing address of the credit card provided by the user with the address on file at the credit card company. Running the AVS system on transaction will reduce the processing fees and lower fraud. It is alway best practice to use when possible.

Production Request

curl -X POST -u "login:password" -H "Accept: application/json" -H "X-PJ-Application-Key: YOUR_PRODUCTION_APP_KEY" \
    -d "action=CHARGE" \
    -d "cardNumber=4444333322221111" \
    -d "cardExpMonth=01" \
    -d "cardExpYear=2020" \
    -d "amountBase=4.00" \
    -d "avs=ADDRESS_AND_ZIP" \
    -d "billingAddress=8320 Test Street" \
    -d "billingZip=85284" \
    "https://api.payjunction.com/transactions"

Response

{
    "transactionId": 15575,
    "uri": "https://api.payjunction.com/transactions/15575",
    "terminalId": 1,
    "action": "CHARGE",
    "amountBase": "4.00",
    "amountTotal": "4.00",
    "status": "CAPTURE",
    "created": "2014-01-22T21:45:20Z",
    "lastModified": "2014-01-22T21:45:20Z",
    "response": {
         "approved": true,
        "code": "00",
        "message": "Approved",
        "processor": {
            "authorized": true,
            "approvalCode": "PJ20AP",
             "avs": {
                 "status": "REQUESTED",
                 "requested": "ADDRESS_AND_ZIP",
                 "match": {
                     "ZIP": true,
                     "ADDRESS": true
                 }
            },
            "cvv": {
                "status": "NOT_REQUESTED"
            }
        }
    },
    "settlement": {
        "settled": false
    },
    "vault": {
        "type": "CARD",
        "accountType": "VISA",
        "lastFour": "1111"
    },
    "billing": {
        "address": {
            "address": "8320 Test Street",
            "zip": "85284"
        }
    }
}

AVS is widely supported by Visa, MasterCard and Discover in the USA, Canada and United Kingdom. American Express only supports AVS in the USA. If you do international business it is possible to receive a transaction from a bank the does not support AVS.

Address Verification Declines & Pending Transactions

When a transaction is declined due to AVS the hold on the authorized funds, will remain on the customer’s card until the card issuing bank removes the authorization. This is generally seen on the customers online banking as a “Pending Transaction”. As a result, the held funds may be subtracted from the customer’s available balance, and an online statement may reflect the authorization request which might be mistaken for an actual charge. Most card issuing banks will remove authorizations within 3–7 days if they are not claimed for settlement.

CVV – Card Security Code Example

Supplying the CVV code in a transaction is intended to verify that the customer has the card in their possession. Knowledge of the code proves that the customer has seen the card, or has seen a record made by somebody who saw the card. This system is used to prevent fraud but does not lower processing fees when used. It is recommend that this is always checked for keyed transactions.

Production Request

curl -X POST -u "login:password" -H "Accept: application/json" -H "X-PJ-Application-Key: YOUR_PRODUCTION_APP_KEY" \
    -d "action=CHARGE" \
    -d "cardNumber=4444333322221111" \
    -d "cardExpMonth=01" \
    -d "cardExpYear=2020" \
    -d "amountBase=5.00" \
    -d "cvv=ON" \
    -d "cardCvv=999" \
    "https://api.payjunction.com/transactions"

Response

{
    "transactionId": 15579,
    "uri": "https://api.payjunction.com/transactions/15579",
    "terminalId": 1,
    "action": "CHARGE",
    "amountBase": "5.00",
    "amountTotal": "5.00",
    "status": "CAPTURE",
    "created": "2014-01-22T21:51:08Z",
    "lastModified": "2014-01-22T21:51:08Z",
    "response": {
         "approved": true,
        "code": "00",
        "message": "Approved",
        "processor": {
            "authorized": true,
            "approvalCode": "PJ20AP",
            "avs": {
                "status": "NOT_REQUESTED"
            },
             "cvv": {
                 "status": "REQUESTED",
                 "match": true
             }
        }
    },
    "settlement": {
        "settled": false
    },
    "vault": {
        "type": "CARD",
        "accountType": "VISA",
        "lastFour": "1111"
    }
}  

Related Articles & Resources

Transaction REST API specification

Developer sandbox and test account