Pinwheel
Overview
Pinwheel is a payment solution that enables fast, secure bank transfers in Australia using simple identifiers like email addresses, phone numbers, or business numbers. It provides real-time payment processing and verification for seamless financial transactions.

Features
- Instant bank transfers
- Simple identification using memorable information
- Secure payment verification
- Real-time payment confirmation
- Multiple identifier types support
- Flexible account linking
Integration Requirements
- Banksy API Key
- Valid Australian bank account
- Callback URLs for transaction status
Implementation
Payment Payload Structure
const payload = {
amount: number, // Payment amount
currency: "AUD", // Australian Dollars only
currencyType: "pinwheel", // Fixed value for Pinwheel transactions
customerEmail: string, // Customer's email address
successCallback: string, // URL for successful payments
failureCallback: string, // URL for failed payments
};
Example Implementation
import { Banksy } from "banksy-sdk";
// Initialize the Banksy SDK with your API key
const banksy = new Banksy("your-api-key");
async function createPinwheelPayment() {
try {
const paymentPayload = {
amount: 100.0,
currency: "AUD",
currencyType: "pinwheel",
customerEmail: "customer@example.com",
successCallback: "https://your-domain.com/success",
failureCallback: "https://your-domain.com/failure",
};
const payment = await banksy.createPayment(paymentPayload);
console.log("Payment Created:", payment);
// Redirect to payment page
window.location.href = payment.paymentLink;
} catch (error) {
console.error("Payment creation failed:", error);
}
}
Security Considerations
-
Verification
- Always verify the recipient name before confirming payment
- Implement proper authentication for callbacks
- Use HTTPS for all API communications
-
Fraud Prevention
- Monitor for suspicious transaction patterns
- Implement transaction limits
- Verify identifier ownership through bank verification
Best Practices
-
Payment Handling
- Validate identifier format before submission
- Implement proper error handling
- Store transaction records securely
- Use real-time payment notifications
-
User Experience
- Display clear payment confirmation details
- Show recipient name verification
- Provide clear error messages
- Implement transaction status tracking
API Testing with cURL
curl --location 'https://sandbox-api.banksy.id/sdk/payment/create' \
--header 'Content-Type: application/json' \
--header 'X-AUTH: ck_test_************738139' \
--data-raw '{
"amount": 100.00,
"currency": "AUD",
"currencyType": "pinwheel",
"customerEmail": "customer@example.com",
"successCallback": "http://domain.com/success",
"failureCallback": "http://domain.com/failure"
}'
Support
For technical support or integration assistance:
- Contact our support team for Pinwheel-specific inquiries
- Reach out to the Banksy support team for SDK-related issues