0
    String endPoint = "https://api.mastercard.com/payments/v1/purchase?Format=XML";
    EditText cardNumberInput = (EditText) findViewById(R.id.cardNumberInput);
    EditText expirationMonthInput = (EditText) findViewById(R.id.expirationMonthInput);
    EditText expirationYearInput = (EditText) findViewById(R.id.expirationYearInput);
    EditText cvvInput = (EditText) findViewById(R.id.cvvInput);
    EditText cardHolderNameInput = (EditText) findViewById(R.id.cardHolderNameInput);
    EditText amountInput = (EditText) findViewById(R.id.amountInput);

    final double amount = Float.valueOf(amountInput.getText().toString());
    final String currency = "USD";
    final String companyId = "ComID";
    final String companyPassword = "ComPass";
    final String messageId = "001";
    final String settlementId = "011";
    final String cardHolderName = cardHolderNameInput.getText().toString();
    final String accountNumber = cardNumberInput.getText().toString();
    final String expiryMonth = expirationMonthInput.getText().toString();
    final String expiryYear = expirationYearInput.getText().toString();
    final String securityCode = cvvInput.getText().toString();
    try {
        // Send data
        URL url = new URL(endPoint);
        URLConnection conn = url.openConnection();
        conn.setDoOutput(true);
        conn.setDoInput(true);
        OutputStreamWriter request = new OutputStreamWriter(conn.getOutputStream());
                    // Create the XML to post
        request.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
        request.append("<PurchaseRequest>");
        request.append("<MerchantIdentity>");
        request.append("<CompanyId>");
        request.append(companyId);
        request.append("</CompanyId>");
        request.append("<CompanyPassword>");
        request.append(companyPassword);
        request.append("</CompanyPassword>");
        request.append("</MerchantIdentity>");
        request.append("<Reference>");
        request.append("<MessageId>");
        request.append(messageId);
        request.append("</MessageId>");
        request.append("<SettlementId>");
        request.append(settlementId);
        request.append("</SettlementId>");
        request.append("</Reference>");
        request.append("<Amount>");
        request.append("<Currency>");
        request.append(currency);
        request.append("</Currency>");
        request.append("<Value>");
        request.append(Double.toString(amount));
        request.append("</Value>");
        request.append("</Amount>");
        request.append("<FundingCard>");
        request.append("<CardholderName>");
        request.append(cardHolderName);
        request.append("</CardholderName>");
        request.append("<AccountNumber>");
        request.append(accountNumber);
        request.append("</AccountNumber>");
        request.append("<ExpiryMonth>");
        request.append(expiryMonth);
        request.append("</ExpiryMonth>");
        request.append("<ExpiryYear>");
        request.append(expiryYear);
        request.append("</ExpiryYear>");
        request.append("<SecurityCode>");
        request.append(securityCode);
        request.append("</SecurityCode>");
        request.append("</FundingCard>");
        request.append("</PurchaseRequest>");
        request.flush();

        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
        Document doc = docBuilder.parse(conn.getInputStream());
        Node transactionResponseNode = doc.getElementsByTagName("TransactionResponse").item(0);
        // Test for approval.
        String response = transactionResponseNode.getNodeValue().trim().toUpperCase();
        Log.d("**********Response", ""+response);
        if (response.equals("APPROVED") == true) {
            request.close();
            String text = "The payment processed successfully.  PHP" + amountInput.getText().toString()
                        + " was charged to the account.";
            Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
                    toast.show();
        } else if (response.equals("DECLINED")) {
            String text = "The payment was declined.";
            Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
            toast.show();
        } else if (response.equals("ERROR")) {
            String text = "Error Processing Payment.";
            Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
            toast.show();
        }
    } catch (MalformedURLException e) {
        String text = "Error";
        Toast toast = Toast.makeText(context, ""+e, Toast.LENGTH_LONG);
        toast.show();
    } catch (IOException e) {
        String text = "Error";
        Toast toast = Toast.makeText(context, ""+e, Toast.LENGTH_LONG);
        toast.show();
    } catch (ParserConfigurationException e) {
        String text = "Error";
        Toast toast = Toast.makeText(context, ""+e, Toast.LENGTH_LONG);
        toast.show();
    } catch (SAXException e) {
        String text = "Error";
        Toast toast = Toast.makeText(context, ""+e, Toast.LENGTH_LONG);
        toast.show();
    }
}
4

0 回答 0