gpt4 book ai didi

java - Auth.net 创建客户付款资料 - E00040 - 找不到记录

转载 作者:行者123 更新时间:2023-12-01 09:46:06 24 4
gpt4 key购买 nike

我是使用 Java SDKAuthorize.net 新手。我正在尝试使用 CreateCustomerPaymentProfile API 创建客户资料。

出现以下错误:

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());
}
}
}
}
}

最佳答案

如果没有客户资料,您就无法创建客户付款资料。

在您提供的代码 String customerProfileId = "36731856"; 中,您收到错误 E00040 作为 ID 为 36731856 的客户资料不存在。

你不清楚自己想要什么。如果您想创建客户资料,请使用CreateCustomerProfile API

这里是它的 GitHub 示例代码:https://github.com/AuthorizeNet/sample-code-java/blob/master/src/main/java/net/authorize/sample/CustomerProfiles/CreateCustomerProfile.java

关于java - Auth.net 创建客户付款资料 - E00040 - 找不到记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38017777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com