0

我正在使用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 并执行另一笔交易吗?

谢谢,

4

1 回答 1

0

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

于 2013-12-19T12:48:03.990 回答