 
   @set
     sharedMethods  :
-      static       : [
-        'getBalance'
-        'setPaymentInfo'
-        'fetchAccountDetails'
-        'fetchTransactions'
-        'fetchCountryDataByIp'
-        'removePaymentMethod'
-      ]
+      static       :
+        setPaymentInfo:
+          (signature String, Object, Function)
+        fetchTransactions:
+          (signature Function)
+        fetchCountryDataByIp:
+          (signature String, Function)
+        removePaymentMethod:
+          (signature String, Function)
 
   @removePaymentMethod: secure (client, paymentMethodId, callback) ->
     (require './method').removePaymentMethod client, paymentMethodId, callback


module.exports = class JPayment extends Base

  {secure, dash} = require 'bongo'
  {difference, extend} = require 'underscore'

  JUser = require '../user'

  @setPaymentInfo = secure (client, paymentMethodId, data, callback) ->
    [data, callback, paymentMethodId] = [paymentMethodId, data, callback]  unless callback
    (require './method').updatePaymentMethodById client, paymentMethodId, data, callback

  @fetchTransactions = secure ({ connection:{ delegate }}, callback) ->
    delegate.fetchPaymentMethods (err, paymentMethods) ->
