with Razorpay and CoinCatch?
The Razorpay API provides a robust platform for handling payments and financial transactions, allowing you to integrate payment processing into your websites or apps. This versatile API enables automated payment capture, refunds, transfers, and the management of subscriptions. With Pipedream, you can weave Razorpay's capabilities into workflows that streamline payment operations, send real-time notifications, synchronize data across platforms, and more.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
razorpay: {
type: "app",
app: "razorpay",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.razorpay.com/v1/items`,
auth: {
username: `${this.razorpay.$auth.key_id}`,
password: `${this.razorpay.$auth.key_secret}`,
},
})
},
})
import { axios } from "@pipedream/platform";
import crypto from 'crypto';
export default defineComponent({
props: {
coincatch: {
type: "app",
app: "coincatch",
}
},
async run({ steps, $ }) {
const accessKey = this.coincatch.$auth.access_key;
const secretKey = this.coincatch.$auth.secret_key;
const passphrase = this.coincatch.$auth.passphrase;
// Helper function to generate signed headers
const createSignedHeaders = ({
method,
requestPath,
queryString = "",
body = "",
}) => {
const timestamp = Date.now().toString();
const upperMethod = method.toUpperCase();
// Build content to sign
let contentToSign = timestamp + upperMethod + requestPath;
if (queryString) {
contentToSign += "?" + queryString;
}
if (body) {
contentToSign += body;
}
// Generate signature
const hmac = crypto.createHmac("sha256", secretKey);
hmac.update(contentToSign);
const signature = hmac.digest("base64");
return {
timestamp,
method: upperMethod,
requestPath,
queryString,
body,
contentToSign,
signature,
headers: {
"ACCESS-KEY": accessKey,
"ACCESS-SIGN": signature,
"ACCESS-TIMESTAMP": timestamp,
"ACCESS-PASSPHRASE": passphrase,
},
};
};
// Call helper to get signed headers + metadata
const resp = createSignedHeaders({
method: "GET",
requestPath: "/api/mix/v1/account/accounts",
queryString: "productType=umcbl"
});
const url = `https://api.coincatch.com${resp.requestPath}${resp.queryString ? "?" + resp.queryString : ""
}`;
// Make the API request
return await axios($, {
method: resp.method,
url,
headers: resp.headers,
data: resp.body || undefined,
});
},
})