BTPayPalLineItem.m 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #import "BTPayPalLineItem.h"
  2. @implementation BTPayPalLineItem
  3. - (instancetype)initWithQuantity:(NSString *)quantity
  4. unitAmount:(NSString *)unitAmount
  5. name:(NSString *)name
  6. kind:(BTPayPalLineItemKind)kind {
  7. self = [super init];
  8. if (self) {
  9. _quantity = quantity;
  10. _unitAmount = unitAmount;
  11. _name = name;
  12. _kind = kind;
  13. }
  14. return self;
  15. }
  16. - (NSDictionary *)requestParameters {
  17. NSMutableDictionary *requestParameters = [NSMutableDictionary dictionary];
  18. requestParameters[@"quantity"] = self.quantity;
  19. requestParameters[@"unit_amount"] = self.unitAmount;
  20. requestParameters[@"name"] = self.name;
  21. NSString *kindString;
  22. switch (self.kind) {
  23. case BTPayPalLineItemKindDebit:
  24. kindString = @"debit";
  25. break;
  26. case BTPayPalLineItemKindCredit:
  27. kindString = @"credit";
  28. break;
  29. }
  30. requestParameters[@"kind"] = kindString;
  31. if (self.unitTaxAmount) {
  32. requestParameters[@"unit_tax_amount"] = self.unitTaxAmount;
  33. }
  34. if (self.itemDescription) {
  35. requestParameters[@"description"] = self.itemDescription;
  36. }
  37. if (self.productCode) {
  38. requestParameters[@"product_code"] = self.productCode;
  39. }
  40. if (self.url) {
  41. requestParameters[@"url"] = self.url.absoluteString;
  42. }
  43. return [requestParameters copy];
  44. }
  45. @end