BTPayPalLineItem.m 1.5 KB

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