【发布时间】:2013-01-27 21:00:45
【问题描述】:
更新代码 感谢 ragnesh,我可以支付多件商品,但没有折扣,我需要为每种产品提供 10% 的折扣,有人可以帮忙吗?
- (void)simplePayment {
[PayPal getPayPalInst].shippingEnabled = TRUE;
[PayPal getPayPalInst].dynamicAmountUpdateEnabled = TRUE;
[PayPal getPayPalInst].feePayer = FEEPAYER_EACHRECEIVER;
PayPalPayment *payment = [[PayPalPayment alloc] init];
payment.recipient = @"email@example.com";
payment.paymentCurrency = @"USD";
payment.invoiceData = [[PayPalInvoiceData alloc] init];
payment.invoiceData.totalShipping = [NSDecimalNumber decimalNumberWithString:@"0"];
payment.invoiceData.totalTax = [NSDecimalNumber decimalNumberWithString:@"0.00"];
payment.invoiceData.invoiceItems = [NSMutableArray array];
NSMutableDictionary * dic = [[NSMutableDictionary alloc]init];
for (int i = 0; i < [db.array count]; i++) {
myData =[db.array objectAtIndex:i];
[dic setValue:myData.itemName forKey:[NSString stringWithFormat:@"title%d",i]];
[dic setValue:[NSString stringWithFormat:@"%d",myData.itemPrice] forKey:[NSString stringWithFormat:@"price%d",i]];
[dic setValue:[NSString stringWithFormat:@"%d",myData.itemQuantity] forKey:[NSString stringWithFormat:@"quantity%d",i]];
}
NSLog(@"%@",dic);
for (int i=0; i<[db.array count]; i++) {
PayPalInvoiceItem *item = [[PayPalInvoiceItem alloc] init];
[item setItemCount:[NSDecimalNumber decimalNumberWithString:[dic objectForKey:[NSString stringWithFormat:@"quantity%d",i]]]];
[item setItemPrice:[NSDecimalNumber decimalNumberWithString:[dic objectForKey:[NSString stringWithFormat:@"price%d",i]]]];
item.name = [dic objectForKey:[NSString stringWithFormat:@"title%d",i]];
[payment.invoiceData.invoiceItems addObject:item];
NSDecimalNumber *paypalItemQuantity = [NSDecimalNumber decimalNumberWithString:[dic objectForKey:[NSString stringWithFormat:@"quantity%d",i]]];
NSDecimalNumber *paypalItemPrice = [NSDecimalNumber decimalNumberWithString:[dic objectForKey:[NSString stringWithFormat:@"price%d",i]]];
payment.subTotal =[NSDecimalNumber decimalNumberWithString: [NSString stringWithFormat:@"%f",[payment.subTotal floatValue]
+[paypalItemPrice floatValue] *
[paypalItemQuantity floatValue]
]];
NSLog(@"%@",[dic objectForKey:[NSString stringWithFormat:@"price%d",i]]);
NSLog(@"%@",[dic objectForKey:[NSString stringWithFormat:@"title%d",i]]);
NSLog(@"%@",payment.subTotal);
}
[[PayPal getPayPalInst] checkoutWithPayment:payment];
}
为了打折,我做了类似的事情:但它弹出错误
payment.subTotal =[NSDecimalNumber decimalNumberWithString: [NSString stringWithFormat:@"%f",([payment.subTotal floatValue]*
[paypalItemQuantity floatValue])
-([paypalItemPrice floatValue] *
[paypalItemQuantity floatValue] *0.1)
]];
【问题讨论】:
-
具体是什么不起作用?是不是报错了?
-
出现的错误是为商品、价格、税金和运费指定的金额加起来不等于总金额
-
我已经把我更新的最新代码放到了循环之外。但还是有问题。