使用Authorize.net CIM& amp ;;使用相同的transactionId执行另一个事务。 ARB

时间:2013-12-19 10:56:56

标签: authorize.net authorize.net-cim

我正在使用 Authorize.net API 来执行付款流程。

我能够执行成功的付款并能够获得任何用户交易的transactionId。

Merchant merchant = callMyMerchancy();

// Transaction process started.
Transaction transactions = merchant.createCIMTransaction(TransactionType.CREATE_CUSTOMER_PROFILE_TRANSACTION);

String customerProfileId = Class2.getCutomerId;
String paymentId = Class1.getPayamentId;

transactions.setCustomerProfileId(customerProfileId);
transactions.setCustomerPaymentProfileId(paymentId);

PaymentTransaction paymentTransaction = PaymentTransaction.createPaymentTransaction();

Order order = Order.createOrder();
order.setTotalAmount(paymentAmount);
order.setDescription("Test payment");
paymentTransaction.setOrder(myOrder);
paymentTransaction.setTransactionType(net.authorize.TransactionType.AUTH_CAPTURE);
transaction.setPaymentTransaction(paymentTransaction);

Result<Transaction> result = (Result<Transaction>) merchant.postTransaction(transactions);


if (result.isOk()) {
    System.out.println(" I got transaction id as : "
            + result.getDirectResponseList().get(0).getDirectResponseMap().get(ResponseField.TRANSACTION_ID));

通过这种方式,我可以跟踪用户的transactionId。

现在我想在将来执行另一个事务,transactionId将是相同的(我们第一次存储的事务ID)。

所以有人知道如何使用相同的transactionId,并执行另一个事务吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

你不能这样做。事务ID是唯一 ID,用于标识一个事务以保持记录。它不是允许使用该CI配置文件完成更多事务的密钥。这就是CIM配置文件ID的用途。