commerce-vuex
Version:
Commerce vuex module
64 lines (57 loc) • 2.5 kB
JavaScript
import { nav } from 'oak-vuex'
//const { getHubAuthHeader } = auth
const { wrapRequest } = nav
//const hubName = process.env.VUE_APP_RETAINHUB_NAME
import { JSONToURLEncoded } from './common.service'
const stripeAPIUrl = process.env.VUE_APP_STRIPE_API_URL
const stripeSecretKey = process.env.VUE_APP_STRIPE_SECRET_KEY
const doFetchCustomerOne = wrapRequest(({customerId}) => {
const requestOptions = {
method: 'GET',
headers: { 'Content-type': 'application/json', 'Authorization' : 'Bearer '+ stripeSecretKey },
};
return fetch(`${stripeAPIUrl}/v1/customers/${customerId}`, requestOptions);
})
const doPostStripeCustomer = wrapRequest(({ customer }) => {
let formBody = JSONToURLEncoded(customer);
const requestOptions = {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 'Authorization' : 'Bearer '+ stripeSecretKey },
body: formBody
};
return fetch(`${stripeAPIUrl}/v1/customers`, requestOptions);
})
const doFetchCustomerByEmail = wrapRequest(({ emailId }) => {
const requestOptions = {
method: 'GET',
headers: { 'Content-type': 'application/json', 'Authorization' : 'Bearer '+ stripeSecretKey },
};
return fetch(`${stripeAPIUrl}/v1/customers?email=${emailId}`, requestOptions);
})
const doPostUpdateAddress = wrapRequest(({ address,id }) => {
if(address){
address.line1=address.line_1
address.line2=address.line_2
delete address.line_1
delete address.line_2
}
let formBody = JSONToURLEncoded({address:address});
const requestOptions = {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 'Authorization' : 'Bearer '+ stripeSecretKey },
body: formBody
};
return fetch(`${stripeAPIUrl}/v1/customers/${id}`, requestOptions);
})
const doSetDefaultPaymentMethod = wrapRequest(({ customerId, invoiceSettings }) => {
let formBody = JSONToURLEncoded({ invoice_settings: invoiceSettings });
const requestOptions = {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 'Authorization' : 'Bearer '+ stripeSecretKey },
body: formBody
};
return fetch(`${stripeAPIUrl}/v1/customers/${customerId}`, requestOptions);
})
export default {
doFetchCustomerOne, doPostUpdateAddress, doSetDefaultPaymentMethod, doPostStripeCustomer, doFetchCustomerByEmail
}