Authorize.net Java 例子
Authorize.net Java example
我正在寻找开发简单的 Java 程序,该程序将发送请求并从 "Authorize.net" 获得响应,例如授权、捕获、作废、退款交易等。我已经创建了我的测试帐户在 authorized.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"))));
}
但我不知道如何发出请求调用并获得响应。谁能指导我/提供示例代码?
是的,Authorize.net 确实提供 Java 来自 http://mvnrepository.com/artifact/net.authorize/anet-java-sdk 的 SDK 和 Maven 依赖项。
Authorize.Net SDK 包括标准付款、定期计费和客户资料。
我已经通过以下 Java 代码执行了简单的 AuthCapture 交易
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());
}
}
}
在这里,请参考我之前在下面的屏幕截图中执行的第一笔交易
我正在寻找开发简单的 Java 程序,该程序将发送请求并从 "Authorize.net" 获得响应,例如授权、捕获、作废、退款交易等。我已经创建了我的测试帐户在 authorized.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"))));
}
但我不知道如何发出请求调用并获得响应。谁能指导我/提供示例代码?
是的,Authorize.net 确实提供 Java 来自 http://mvnrepository.com/artifact/net.authorize/anet-java-sdk 的 SDK 和 Maven 依赖项。
Authorize.Net SDK 包括标准付款、定期计费和客户资料。
我已经通过以下 Java 代码执行了简单的 AuthCapture 交易
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());
}
}
}
在这里,请参考我之前在下面的屏幕截图中执行的第一笔交易