BTPayPalVaultRequest.m 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #if __has_include(<Braintree/BraintreePayPal.h>)
  2. #import <Braintree/BTPayPalVaultRequest.h>
  3. #else
  4. #import <BraintreePayPal/BTPayPalVaultRequest.h>
  5. #endif
  6. #import "BTPayPalRequest_Internal.h"
  7. @implementation BTPayPalVaultRequest
  8. - (NSString *)hermesPath {
  9. return @"v1/paypal_hermes/setup_billing_agreement";
  10. }
  11. - (BTPayPalPaymentType)paymentType {
  12. return BTPayPalPaymentTypeVault;
  13. }
  14. - (NSDictionary<NSString *, NSObject *> *)parametersWithConfiguration:(BTConfiguration *)configuration {
  15. NSMutableDictionary *parameters = [[super parametersWithConfiguration:configuration] mutableCopy];
  16. if (self.billingAgreementDescription.length > 0) {
  17. parameters[@"description"] = self.billingAgreementDescription;
  18. }
  19. parameters[@"offer_paypal_credit"] = @(self.offerCredit);
  20. if (self.shippingAddressOverride) {
  21. NSMutableDictionary *shippingAddressParams = [NSMutableDictionary dictionary];
  22. shippingAddressParams[@"line1"] = self.shippingAddressOverride.streetAddress;
  23. shippingAddressParams[@"line2"] = self.shippingAddressOverride.extendedAddress;
  24. shippingAddressParams[@"city"] = self.shippingAddressOverride.locality;
  25. shippingAddressParams[@"state"] = self.shippingAddressOverride.region;
  26. shippingAddressParams[@"postal_code"] = self.shippingAddressOverride.postalCode;
  27. shippingAddressParams[@"country_code"] = self.shippingAddressOverride.countryCodeAlpha2;
  28. shippingAddressParams[@"recipient_name"] = self.shippingAddressOverride.recipientName;
  29. parameters[@"shipping_address"] = shippingAddressParams;
  30. }
  31. return parameters;
  32. }
  33. @end