with Chargify and Verifone?
Establishes a new subscription for a given customer in Chargify. See the documentation
Modifies an existing subscription in Chargify. See the documentation
The Chargify API enables seamless integration of subscription billing, management, and reporting functionalities. With Chargify, you can automate the creation and management of customer subscriptions, handle invoicing, apply taxes, and track analytics related to your billing processes. It's a powerful tool for businesses with recurring revenue models to keep their billing systems in sync with other business operations, reducing manual workload and increasing efficiency.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
chargify: {
type: "app",
app: "chargify",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.chargify.$auth.subdomain}.chargify.com/subscriptions.json`,
headers: {
"content-type": `application/json`,
"accept": `application/json`,
},
auth: {
username: `${this.chargify.$auth.api_key}`,
password: ``,
},
})
},
})
import { axios } from "@pipedream/platform";
import dayjs from "dayjs";
import crypto from "crypto";
export default defineComponent({
props: {
verifone: {
type: "app",
app: "verifone",
}
},
async run({steps, $}) {
let requestDateTime = new Date();
requestDateTime = dayjs(requestDateTime).format("YYYY-MM-DD hh:mm:ss");
const algo = "sha256";
let hash = this.verifone.$auth.vendor_code.length
+ this.verifone.$auth.vendor_code
+ requestDateTime.toString().length
+ requestDateTime;
hash = crypto.createHmac(algo, this.verifone.$auth.secret_key)
.update(hash)
.digest('hex');
return await axios($, {
url: `https://api.2checkout.com/rest/6.0/products/`,
headers: {
"X-Avangate-Authentication": `code="${this.verifone.$auth.vendor_code}" date="${requestDateTime}" hash="${hash}" algo="${algo}"`,
Accept: "application/json"
},
})
},
})