Authorize.net
にはJava SDK
を使用しています。私はCreateCustomerPaymentProfile
APIを使用して顧客プロファイルを作成しようとしています。Auth.netはお客様のお支払いプロファイルを作成します - E00040 - レコードが見つかりません
次のエラーが来ている:
06/24/16 21:24:36,362: INFO [pool-1-thread-1] (net.authorize.util.LogHelper:24) - Use Proxy: 'false'
Failed to create customer payment profile: ERROR
~~~~ Details Are ~~~~
Message Code : E00040
Message Text : The record cannot be found.
次API:
import java.util.List;
import net.authorize.Environment;
import net.authorize.api.contract.v1.CreateCustomerPaymentProfileRequest;
import net.authorize.api.contract.v1.CreateCustomerPaymentProfileResponse;
import net.authorize.api.contract.v1.CreditCardType;
import net.authorize.api.contract.v1.CustomerAddressType;
import net.authorize.api.contract.v1.CustomerPaymentProfileType;
import net.authorize.api.contract.v1.MerchantAuthenticationType;
import net.authorize.api.contract.v1.MessageTypeEnum;
import net.authorize.api.contract.v1.MessagesType.Message;
import net.authorize.api.contract.v1.PaymentType;
import net.authorize.api.controller.CreateCustomerPaymentProfileController;
import net.authorize.api.controller.base.ApiOperationBase;
public class CreateCustomerPaymentProfile {
public static final String apiLoginID= "72mNC7gyq";
public static final String transactionKey= "**";
private static final String customerProfileId = "36731856";
public static void main(String[] args) {
ApiOperationBase.setEnvironment(Environment.SANDBOX);
MerchantAuthenticationType merchantAuthenticationType = new MerchantAuthenticationType() ;
merchantAuthenticationType.setName(apiLoginID);
merchantAuthenticationType.setTransactionKey(transactionKey);
ApiOperationBase.setMerchantAuthentication(merchantAuthenticationType);
//private String getPaymentDetails(MerchantAuthenticationType merchantAuthentication, String customerprofileId, ValidationModeEnum validationMode) {
CreateCustomerPaymentProfileRequest apiRequest = new CreateCustomerPaymentProfileRequest();
apiRequest.setMerchantAuthentication(merchantAuthenticationType);
apiRequest.setCustomerProfileId(customerProfileId);
//customer address
CustomerAddressType customerAddress = new CustomerAddressType();
customerAddress.setFirstName("test");
customerAddress.setLastName("scenario");
customerAddress.setAddress("123 Main Street");
customerAddress.setCity("Bellevue");
customerAddress.setState("WA");
customerAddress.setZip("98004");
customerAddress.setCountry("USA");
customerAddress.setPhoneNumber("000-000-0000");
//credit card details
CreditCardType creditCard = new CreditCardType();
creditCard.setCardNumber("4111111111111111");
creditCard.setExpirationDate("2023-12");
creditCard.setCardCode("122");
CustomerPaymentProfileType profile = new CustomerPaymentProfileType();
profile.setBillTo(customerAddress);
PaymentType payment = new PaymentType();
payment.setCreditCard(creditCard);
profile.setPayment(payment);
apiRequest.setPaymentProfile(profile);
CreateCustomerPaymentProfileController controller = new CreateCustomerPaymentProfileController(apiRequest);
controller.execute();
CreateCustomerPaymentProfileResponse response = new CreateCustomerPaymentProfileResponse();
response = controller.getApiResponse();
if (response != null) {
if (response.getMessages().getResultCode() == MessageTypeEnum.OK) {
System.out.println(response.getCustomerPaymentProfileId());
System.out.println(response.getMessages().getMessage().get(0).getCode());
System.out.println(response.getMessages().getMessage().get(0).getText());
if(response.getValidationDirectResponse() != null)
System.out.println(response.getValidationDirectResponse());
}
else {
System.out.println("Failed to create customer payment profile: " + response.getMessages().getResultCode());
System.out.println("~~~~ Details Are ~~~~");
List<Message> messages = response.getMessages().getMessage();
for (Message message : messages) {
System.out.println("Message Code : "+message.getCode());
System.out.println("Message Text : "+message.getText());
}
}
}
}
}