Authorize.net 添加负价格行项目或折扣
我在店面用优惠券打折。有些优惠券是针对大于特定值的订单的固定美元金额。比如说,40美元或更多的订单可以打10美元的折扣。其他优惠券提供折扣率,比如说,本月第一次订购可享受20%的折扣(店面正在处理此限制,因此可以忽略不计)。我想使用authorize.net处理交易,并向客户发送收据 我的第一个想法是修改打折商品的单价。这对于费率折扣很有效,但并没有显示所有信息。问题是要有统一的折扣。如果有几种商品,你在哪里可以减价10美元 我的第二个想法是在订单收据中添加一个具有负值/价格的行项目。Authorize似乎不接受任何负值,因此这是一个失败 我们正在使用针对Java的AIM事务库Authorize.net 添加负价格行项目或折扣,authorize.net,Authorize.net,我在店面用优惠券打折。有些优惠券是针对大于特定值的订单的固定美元金额。比如说,40美元或更多的订单可以打10美元的折扣。其他优惠券提供折扣率,比如说,本月第一次订购可享受20%的折扣(店面正在处理此限制,因此可以忽略不计)。我想使用authorize.net处理交易,并向客户发送收据 我的第一个想法是修改打折商品的单价。这对于费率折扣很有效,但并没有显示所有信息。问题是要有统一的折扣。如果有几种商品,你在哪里可以减价10美元 我的第二个想法是在订单收据中添加一个具有负值/价格的行项目。Autho
Order anetOrder = Order.createOrder();
anetOrder.setInvoiceNumber(sanitize(order.getOrderNumber(), 20));
anetOrder.setShippingCharges(shippingCharges);
anetOrder.setTotalAmount(total);
for (OrderProductIf op : order.getOrderProducts()) {
OrderItem item = OrderItem.createOrderItem();
item.setItemTaxable(true);
item.setItemId(sanitize(op.getSku(), 31));
item.setItemName(sanitize(op.getName(), 31));
item.setItemDescription(sanitize(op.getModel(), 255));
item.setItemPrice(op.getPrice());
item.setItemQuantity(new BigDecimal(op.getQuantity()));
anetOrder.addOrderItem(item);
}
sanitize是一个限制字符串长度的函数
Transaction transaction = merchant.createAIMTransaction(TransactionType.AUTH_CAPTURE, total);
transaction.setCreditCard(creditCard);
transaction.setCustomer(customer);
transaction.setOrder(anetOrder);
transaction.setShippingAddress(shippingAddress);
transaction.setShippingCharges(shippingCharges);
Result<Transaction> result = (Result<Transaction>) merchant.postTransaction(transaction);
return getPaymentResult(result);
Transaction Transaction=merchant.createAIMTransaction(TransactionType.AUTH_CAPTURE,总计);
交易。设置信用卡(信用卡);
交易。设置客户(客户);
事务处理.setOrder(anertorder);
事务处理。设置shippingAddress(shippingAddress);
交易。设置运费(运费);
结果结果=(结果)商户。交易后(交易);
返回getPaymentResult(结果);
我在这里没有主意。一种方法是在不修改行项目的情况下,计算折扣的总金额,对于60美元的销售,折扣为10美元,如下所示:
<transactionRequest>
<transactionType>authCaptureTransaction</transactionType>
<amount>50</amount>
authCaptureTransaction
50
然后加上
<userFields>
<userField>
<name>Discount</name>
<value>$10.00</value>
</userField>
优惠
$10.00
userField的值是任意的,如果您更喜欢,可以将其设置为-10.00美元。行项目不是总和。所以
- 在系统中添加信贷行项目
- 当您提交到Authorize.net时,请检查负数并更改描述以表明它是一个贷项,然后将值更改为正值
- 确保您提交的总数正确无误。Authorize.net不会检查您的行项目合计是否正确
Java
标记,除非您的问题实际上是关于Java本身的。您可能只想发送收据,这样您就可以根据需要自定义它,而不必使用负面指标。一些用户可能会对此感到困惑。很抱歉,我的问题不准确,我们在这个遗留系统中使用AIM。userFields是否仅用于新API?AIM方法具有商户定义的字段,这些字段与新API中的userFields类似。