Skip to main content

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.

Pinwheel Logo

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

  1. Verification

    • Always verify the recipient name before confirming payment
    • Implement proper authentication for callbacks
    • Use HTTPS for all API communications
  2. Fraud Prevention

    • Monitor for suspicious transaction patterns
    • Implement transaction limits
    • Verify identifier ownership through bank verification

Best Practices

  1. Payment Handling

    • Validate identifier format before submission
    • Implement proper error handling
    • Store transaction records securely
    • Use real-time payment notifications
  2. 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