我正在使用 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,并执行另一个事务吗?
谢谢,
答案 0 :(得分:0)
你不能这样做。事务ID是唯一 ID,用于标识一个事务以保持记录。它不是允许使用该CI配置文件完成更多事务的密钥。这就是CIM配置文件ID的用途。