Authorize.net пример Java

Я ищу разработку простой Java-программы, которая будет отправлять запрос и получать ответ от "Authorize.net", скажем, для авторизации, захвата, аннулирования транзакций и т. Д. Я создал свой тестовый аккаунт на авторизированном.net - https://sandbox.authorize.net/. Я делал много недель и не нашел ни одного примера для справки.

Я использую AIM для моей разработки, скажем, у меня есть код для AuthTransaction

GenericValue cc = (GenericValue) params.get("creditCard");
        String currency = (String) params.get("currency");
        String amount = ((BigDecimal)params.get("processAmount")).toString();
        String number = UtilFormatOut.checkNull(cc.getString("cardNumber"));
        String expDate = UtilFormatOut.checkNull(cc.getString("expireDate"));
        String cardSecurityCode = (String) params.get("cardSecurityCode");
        AIMRequest.put("x_Amount", amount);
        AIMRequest.put("x_Currency_Code", currency);        
        AIMRequest.put("x_Method", props.getProperty("method"));
        AIMRequest.put("x_Type", props.getProperty("transType"));
        AIMRequest.put("x_Card_Num", number);
        AIMRequest.put("x_Exp_Date", expDate);
        if (UtilValidate.isNotEmpty(cardSecurityCode)) {
            AIMRequest.put("x_card_code", cardSecurityCode);
        }
        if (AIMRequest.get("x_market_type") != null) {
            AIMRequest.put("x_card_type", getCardType(UtilFormatOut.checkNull(cc.getString("cardType"))));
        }

Но я не знаю, как сделать запрос вызова и получить ответ обратно. Любой, пожалуйста, направьте меня / предоставьте мне пример кода?

1 ответ

Решение

Да, Authorize.net предоставляет Java SDK и зависимость maven от http://mvnrepository.com/artifact/net.authorize/anet-java-sdk.

Authorize.Net SDK включает в себя стандартные платежи, регулярные счета и профили клиентов.

Я выполнил простую транзакцию AuthCapture через следующий код Java

package com.auth.net;

import java.math.BigDecimal;

import net.authorize.Environment;
import net.authorize.Merchant;
import net.authorize.TransactionType;
import net.authorize.aim.Result;
import net.authorize.aim.Transaction;
import net.authorize.data.creditcard.CreditCard;

public class AIMauthCaptureTransactionDemo {
    public static final String apiLoginID= "Your Sandbox API Login ID";
    public static final String transactionKey= "Your Sandbox API Transaction Key";

    public static void main(String[] args) {
        Merchant merchant = Merchant.createMerchant(Environment.SANDBOX, apiLoginID, transactionKey);
        // create credit card
        CreditCard creditCard = CreditCard.createCreditCard();
        creditCard.setCreditCardNumber("4111 1111 1111 1111");
        creditCard.setExpirationMonth("12");
        creditCard.setExpirationYear("2018");

        // create transaction
        Transaction authCaptureTransaction = merchant.createAIMTransaction
                (TransactionType.AUTH_CAPTURE, new BigDecimal("5.00"));

        authCaptureTransaction.setCreditCard(creditCard);

        @SuppressWarnings("unchecked")
        Result<Transaction> result = (Result<Transaction>)merchant.postTransaction(authCaptureTransaction);

        if(result.isApproved()) {
            System.out.println("Response Code : "+ result.getReasonResponseCode());
            System.out.println("Response Text : " + result.getResponseText());
            System.out.println("Transaction Id: " + result.getTarget().getTransactionId());
            System.out.println("AuthorizationCode : "+result.getTarget().getAuthorizationCode());
        } 
        else if (result.isDeclined()) {
            System.out.println(result.getReasonResponseCode() + " : " + result.getResponseText());
        }
        else {
            System.out.println(result.getReasonResponseCode() + " : " + result.getResponseText());
        }
    }

}

Здесь, пожалуйста, обратитесь к первой транзакции, которую я выполнил некоторое время назад на снимке экрана ниже

Другие вопросы по тегам