Authorize Payment

Freshcom allows you to authorize a payment against a card without capturing the payment. Once a payment is successfully authorized you are guaranteed to be able to capture the entire or partial amount. Authorizing a payment is useful when you do not know the exact amount to charge at the time of authorizing, this is often used when you use variable pricing for a product.

Payment can only be authorized for a maximum of 7 days, if you did not capture the payment within 7 days then the full amount will be refunded to the customer's card. If you require authorization for longer than 7 days then the only way is to refund the original one and create a new authorized payment manually. This can be done through the Dashboard.

Creating a authorized payment in you client side application is as simple as create a payment with captured set to false.

import freshcom from 'freshcom-sdk'

// Assuming you have obtained a card token from stripe.
let token = '...'

// Assuming you have an existing cart.
let cart = {...}

freshcom.createAndSetAccessToken({
  fresh_token: 'prt-test-aba1d92c-defb-478e-a031-40b5c27171c7',
  grant_type: 'refresh_token'
}).then(function () {
  return freshcom.createPayment({
    source: token,
    amountCents: cart.authorizationTotalCents,
    capture: false,
    target: cart
  })
}).then(function(response) {
  let order = response.data
  // Update the UI accordingly...
  // ...
})

Next Steps

pageFulfillment & Return

Last updated