Guest User

Untitled

a guest
Jun 18th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. const authorization = yield UPS('braintree/client_token', token);
  2. const client = yield bt.client.create({ authorization });
  3.  
  4. async function initHostedFields(client, options) {
  5. const { errorHandler, fieldEventsCallback } = options;
  6. try {
  7. const hostedFields = await(bt.hostedFields.create({
  8. client,
  9. styles: {
  10. 'input': {
  11. 'font-size': '14pt',
  12. 'color': '#3A3A3A',
  13. 'padding': '0 0 0 4px',
  14. },
  15.  
  16. '.number': {
  17. 'font-family': 'monospace',
  18. },
  19.  
  20. '.valid': {
  21. 'color': 'limegreen',
  22. },
  23.  
  24. '.invalid': {
  25. 'color': 'tomato',
  26. }
  27. },
  28. fields: {
  29. number: {
  30. selector: '#card-number',
  31. placeholder: '1111 1111 1111 1111',
  32. },
  33. cvv: {
  34. selector: '#cvv',
  35. placeholder: '•••',
  36. },
  37. expirationDate: {
  38. selector: '#expiration-date',
  39. placeholder: '12/34',
  40. }
  41. }
  42. }));
  43.  
  44. hostedFields.on('notEmpty', e => {
  45. fieldEventsCallback(e, 'notEmpty');
  46. updateBraintree('hasNewCardInfo', true);
  47. });
  48.  
  49. hostedFields.on('empty', e => {
  50. fieldEventsCallback(e, 'empty');
  51. });
  52.  
  53. hostedFields.on('validityChange', e => {
  54. fieldEventsCallback(e, 'validityChange');
  55. });
  56.  
  57. return hostedFields;
  58. // setState({ hostedFields });
  59. } catch (error) {
  60. errorHandler(error);
  61. handleBraintreeError(error);
  62. }
  63. };
  64.  
  65. const payload = await hostedFields.tokenize();
  66.  
  67. const paymentMethodNonce = payload.nonce;
  68. const { receipt } = (await axios({
  69. method: 'post',
  70. url: `${UPS_BASE_PATH}/api/purchase`,
  71. data: {
  72. paymentMethodNonce,
  73. items: [item],
  74. promotionCodes: [promo],
  75. },
  76. headers: {
  77. Authorization: `Bearer ${token}`,
  78. }
  79. })).data;
Add Comment
Please, Sign In to add comment