2016-06-02 6 views
0

결제 API를 통합하려고합니다. 지불을 만들 때 사용하는 메소드는 객체를 반환해야합니다. 그리고 사실 그것은 그렇습니다.하지만 객체를 클라이언트로 다시 가져올 수 없다는 것입니다.Meteor가 서버 메소드에서 클라이언트로 응답을 반환합니다.

API에 대한 메소드가 비동기 적으로 실행되고 서버의 메소드가 동 기적으로 실행되는 동안 (필자가 착각하지 않는다면)이 문제가 발생한다는 것을 알고 있습니다. 그러나 아직도 나는 그것을하는 방법을 알아낼 수 없다. 그리고 나는 너희들이 나를 도와 줄 수 있기를 바라고있다. 서버에

클라이언트 측 전화 :

Meteor.call('createPaymentLink',NewBooking, TotalAmount ,function(result) { 
      console.log(result); 
}); 

서버 측 호출 API에 : 콜백에 첫 번째 인수가 오류가

Meteor.methods({ 
    'createPaymentLink': function(bookingID, amount) { 

     //Create Booking No. 
     // First two digits = First two digits of booking ID 
     // Last two digits = Last two digits of Customer ID 
     var CustomerId = Bookings.findOne({_id: bookingID}).CustomerID; 
     var FirstPart = CustomerId.substring(0,2); 
     var LastPart = bookingID.slice(-2); 
     var rightNow = new Date(); 
     var OrderDate = rightNow.toISOString().slice(0,10).replace(/-/g,""); 

     var CustomerBookingCode = (FirstPart + OrderDate + LastPart).toUpperCase(); 

     mollieClient.payments.create({ 
      amount:  amount, 
      description: "Booking code: "+bookingID, 
      redirectUrl: "https://webshop.example.org/order/12345/" 
     }, Meteor.bindEnvironment(function(payment) { 
      return payment; 
      //Bookings.update({_id: bookingID}, {$set: {payment_id : PaymentUrl}}); 
     }));  
    } 
    }); 

답변

0

, 모든 일 경우 null이 될 것이다! 사용해보기 :

Meteor.call('createPaymentLink',NewBooking, TotalAmount ,function(err, result) { 
    console.log(result); 
}); 
+0

답장을 보내 주셔서 감사합니다. 행운을 빌어 요 :(브라우저 콘솔에서 err과 result가 모두 반환되지 않습니다. – NvdB31