Advertisement
Yoliser

[NodeJS] Mangopay code

Jan 24th, 2017
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var Mangopay = require("mangopay2-nodejs-sdk");
  2. var CardRegistrationJsKit = require("mangopay-cardregistration-js-kit")
  3.  
  4. var mangoPay = new Mangopay({
  5.     clientId: "myClientId",
  6.     clientPassword: "myClientPassword",
  7.     // Set the right production API url. If testing, omit the property since it defaults to sandbox URL
  8.     baseUrl: "https://api.sandbox.mangopay.com"
  9. });
  10.  
  11. function doMangoTest() {
  12.  
  13.     console.log("mangoPay = %j", mangoPay);
  14.  
  15.     // Create a user if needed
  16.     mangoPay.Users.create({
  17.         "PersonType": "NATURAL",
  18.         "Email": "support@mangopay.com",
  19.         "KYCLevel": "REGULAR",
  20.         "FirstName": "Joe",
  21.         "LastName": "Blogs",
  22.         "Birthday": 1463496101,
  23.         "Nationality": "GB",
  24.         "CountryOfResidence": "FR",
  25.     }, function (res) {
  26.         console.log("USER = %j", res);
  27.     });
  28.  
  29.     // 1&2 Create a CardRegistration object. Get CardRegistrationURL, PreregistrationData, AccessKey and Id
  30.     var cardRegistration = mangoPay.CardRegistrations.create({
  31.             "UserId": "20102670",
  32.             "Currency": "EUR",
  33.             "CardType": "CB_VISA_MASTERCARD"
  34.         },
  35.         function (res) {
  36.             console.log("CARD REGISTRATION = %j", res);
  37.  
  38.             console.log("res.CardRegistrationURL = " + res.CardRegistrationURL)
  39.             var cardRegistrationData = {
  40.                 "data": res.PreregistrationData,
  41.                 "accessKeyRef": res.AccessKey,
  42.                 "returnURL": "localhost", // "url",
  43.                 "cardNumber": "4970100000000154",
  44.                 "cardExpirationDate": "1020",
  45.                 "cardCvx": "123"
  46.             };
  47.  
  48.             // Set the headers
  49.             var headers = {
  50.                 'Content-Type': 'application/x-www-form-urlencoded'
  51.             }
  52.  
  53.             // Configure the request
  54.             var options = {
  55.                 url: res.CardRegistrationURL,
  56.                 headers: headers,
  57.                 form: cardRegistrationData
  58.             }
  59.  
  60.             // 3. POST request to CardRegistrationURL
  61.             mangoPay.method('post', function (data, response) {
  62.                 console.log("DATA = %j", data);
  63.                 console.log("RESPONSE = %j", response);
  64.                 console.log("REQUEST = %j", response.request);
  65.             }, options);
  66.  
  67.             // Replace request.post by mangoPay.method("post")
  68.             /*request.post(options,
  69.                 function (error, response, body) {
  70.                     console.log("ERROR = " + error);
  71.                     console.log("STATUSCODE = %j", response);
  72.                     if (!error) {
  73.                         console.log("SEND TO URL = " + body)
  74.                     }
  75.                 }
  76.             );*/
  77.         });
  78.  
  79.     // Tried CardRegistrations.update, not working
  80.     // 3. PreregistrationData AccessKey and cardDetails to CardRegistrationURL
  81.     /*mangoPay.CardRegistrations.update({
  82.             "parameters": {
  83.                 "data": cardRegistration.preregistrationData,
  84.                 "accessKeyRef": cardRegistration.accessKey,
  85.                 "cardNumber": "4706750000000009",
  86.                 "cardExpirationDate": "1019",
  87.                 "cardCvx": "123"
  88.             },
  89.             "url": cardRegistration.cardRegistrationURL
  90.         },
  91.         function (res) {
  92.             console.log("CARD UPDATE = %j", res);
  93.         });*/
  94.  
  95.     // Tried with CardRegistrationJsKit, but failed
  96.     /*
  97. CardRegistrationJsKit.cardRegistration.baseURL = "https://api.sandbox.mangopay.com";
  98.     CardRegistrationJsKit.cardRegistration.clientId = "restominutefrance";
  99.  
  100.     // Initialize mangoPay.cardRegistration object
  101.     CardRegistrationJsKit.cardRegistration.init({
  102.         cardRegistrationURL: cardRegistration.CardRegistrationURL,
  103.         preregistrationData: cardRegistration.PreregistrationData,
  104.         accessKey: cardRegistration.AccessKey,
  105.         Id: cardRegistration.Id
  106.     });
  107.  
  108.     CardRegistrationJsKit.cardRegistration.update({
  109.         cardRegistrationURL: cardRegistration.CardRegistrationURL,
  110.         preregistrationData: cardRegistration.PreregistrationData,
  111.         accessKey: cardRegistration.AccessKey,
  112.         Id: cardRegistration.Id
  113.     });
  114.  
  115.     // Process data        
  116.     CardRegistrationJsKit.cardRegistration.registerCard(cardData,
  117.         function (res) {
  118.             var message = 'Card has been succesfully registered under the Card Id ' + res.CardId + '.<br />';
  119.             message += 'Card is now ready to use e.g. in a «Direct PayIn» Object.';
  120.         },
  121.         function (res) {
  122.             alert("Error occured while registering the card: " + "ResultCode: " + res.ResultCode + ", ResultMessage: " + res.ResultMessage);
  123.         }
  124.     );*/
  125. }
  126. doMangoTest();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement