实现android系统authorize.net [英] Implementing authorize.net in android

查看:109
本文介绍了实现android系统authorize.net的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想开发它通过authorize.net

I want to develop an application which does payment processing through authorize.net

但每次我收到未知错误。

But everytime I get unknown error.

首先,我填写的所有文本框和按钮上单击事件使用这些值。结果
我的code是:

First I fill all the textboxes and use these values on a button click event.
My code is:

txtAmount=Double.parseDouble(Amount.getText().toString());
txtFName = FName.getText().toString();
txtLName=LName.getText().toString();
txtAddress=Address.getText().toString();
txtCity=City.getText().toString();
txtState=State.getText().toString();
txtzipcode=zipcode.getText().toString();
txtEmail=Email.getText().toString();
txtCreditCard=CreditCard.getText().toString();
txtCVV2=CVV2.getText().toString(); 

drpMonth=selectedmonth;
drpYear=selectedyear;
date= drpMonth.concat(drpYear);

try {
    URL post_url = new URL("https://test.authorize.net/gateway/transact.dll");

    Hashtable post_values = new Hashtable();

    // the API Login ID and Transaction Key must be replaced with valid values
    post_values.put ("x_login", "8SX5gkJb46g");
    post_values.put ("x_tran_key", "8Wx295Gr4hd9Y5kd");

    post_values.put ("x_version", "3.1");
    post_values.put ("x_delim_data", "TRUE");
    post_values.put ("x_delim_char", "|");
    post_values.put ("x_relay_response", "FALSE");

    post_values.put ("x_type", "AUTH_CAPTURE");
    post_values.put ("x_method", "CC");
    post_values.put ("x_card_num", txtCreditCard);
    post_values.put ("x_exp_date", date);

    post_values.put ("x_amount", txtAmount);
    post_values.put ("x_description", "Sample Transaction");

    post_values.put ("x_first_name",txtFName);
    post_values.put ("x_last_name",txtLName);
    post_values.put ("x_address", txtAddress);
    post_values.put ("x_city", txtCity);
    post_values.put ("x_state",txtState);
    post_values.put ("x_zip", txtzipcode);
    post_values.put ("x_email", txtEmail);
    // Additional fields can be added here as outlined in the AIM integration
    // guide at: http://developer.authorize.net

    // This section takes the input fields and converts them to the proper format
    // for an http post.  For example: "x_login=username&x_tran_key=a1B2c3D4"

    StringBuffer post_string = new StringBuffer();
    Enumeration keys = post_values.keys();
    while( keys.hasMoreElements() ) {
        String key = URLEncoder.encode(keys.nextElement().toString(),"UTF-8");
        String value = URLEncoder.encode(post_values.get(key).toString(),"UTF-8");
        post_string.append(key + "=" + value + "&");
    }

    // Open a URLConnection to the specified post url
    URLConnection connection = post_url.openConnection();
    connection.setDoOutput(true);
    connection.setUseCaches(false);

    // this line is not necessarily required but fixes a bug with some servers
    connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

    // submit the post_string and close the connection


    DataOutputStream requestObject = new DataOutputStream(connection.getOutputStream());
    requestObject.write(post_string.toString().getBytes());
    requestObject.flush();
    requestObject.close();

    // process and read the gateway response
    BufferedReader rawResponse = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String line;
    String responseData = rawResponse.readLine();
    rawResponse.close();                         // no more data

    // split the response into an array
    String [] responses = responseData.split("|");

    // The results are output to the screen in the form of an html numbered list.

    for(Iterator iter=Arrays.asList(responses).iterator(); iter.hasNext();) {
        result="\n"+ iter.next() +"&nbsp";
        tv.setText(result);
        //out.println("<LI>" + iter.next() + "&nbsp;</LI>");
    }

    setContentView(tv);
} catch(Exception e) {
    tv.setText(e.getMessage());
    setContentView(tv);
}

谁能帮我?

通过的setContentView我显示我的splited的结果,我只得到未知错误例外。没有其他说明所示。是我错了方法,或有实施支付处理任何其他方法?

through setContentView I am showing my splited result and I get only unknown error exception. No other description is shown. Is my method wrong or there is any other method to implement payment processing ?

推荐答案

感谢您的code :)我有新的想法,你们的code实现authorize.net在android的,我不知道你什么面对错误,但是当我试图用URL后整合我面临的一个错误,我在我的code补充说:x_market_​​type,我得到的结果

Thanks for your code :) I got new idea form your code to implement authorize.net in android I have no idea what you faced error but when I tried to use post url for integration I faced one error and I have added "x_market_type" in my code and I got the result


 post_values.put ("x_market_type", "2");


我还集成示例code这authorize.net提供,但我的自定义要求的code可以帮助我很多东西。

I have also integrated Sample code which authorize.net provide, but for my custom requirement your code helps me lot.

如果你需要比发表评论任何帮助。 :)

If you need any help than post comment. :)

这篇关于实现android系统authorize.net的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆