views:

4

answers:

0

paypal api processing transaction despite of wrong billing info and wrong credit card type. All it does is even though avscode== x or n a or z, it is seeing for ack==success and if yes the transaction is being processed. How do i stop this? i want it to check ack==success and avscode==y

`$post_str = 'USER='.urlencode(PP_API_USERNAME).'&PWD='.urlencode(PP_API_PASSWORD).'&SIGNATURE='.urlencode(PP_API_SIGNATURE).'&VERSION='.urlencode(PP_API_VERSION).'&METHOD='.urlencode('doDirectPayment').'&PAYMENTACTION=Sale&AMT='.urlencode(sprintf("%.2f",$trn_amount)).'&CREDITCARDTYPE='.urlencode($_POST['cc_type']).'&ACCT='.urlencode($_POST['cc_no']).'&EXPDATE='.sprintf("%02d",$_POST['cc_mm']).$_POST['cc_yyyy'].'&CVV2='.urlencode($_POST['cc_cv2']).'&FIRSTNAME='.urlencode($_POST['cc_fname']).'&LASTNAME='.urlencode($_POST['cc_sname']).'&STREET='.urlencode($_POST['cc_address']).'&CITY='.urlencode($_POST['cc_city']).'&STATE='.urlencode($_POST['cc_county']).'&ZIP='.urlencode($_POST['cc_pcode']).'&COUNTRYCODE=US&CURRENCYCODE=USD';    
    $str_responce = get_web_url(PP_API,'n',$post_str);    

    parse_str($str_responce, $output);

        if($output['ACK']=='Failure'){
        report_error('Could not send sale details to paypal because: '.urldecode($output['L_LONGMESSAGE0']));
        $err_msg = urldecode($output['L_LONGMESSAGE0']);
        unset($_POST['cc_confirm']);
        }`

USER=s&PWD=s&SIGNATURE=a&VERSION=6&METHOD=doDirectPayment&PAYMENTACTION=Sale&AMT=0.02&CREDITCARDTYPE=Visa&ACCT=xxxx&EXPDATE=xxxxCVV2=xxx&FIRSTNAME=A&LASTNAME=M&STREETxxx&CITY=xxx&STATE=xx&ZIP=xxxxx&COUNTRYCODE=US&CURRENCYCODE=USD
TIMESTAMP=xxx&CORRELATIONID=xxx&ACK=Success&VERSION=6&BUILD=xxx&AMT=0%2e02&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=xxxxx