name: repairshopr-payment-profile description: Manage stored customer payment profiles (credit cards) in RepairShopr license: MIT compatibility: opencode metadata: audience: accountants, receptionists api: GET /customers/{customer_id}/payment_profiles, POST /customers/{customer_id}/payment_profiles, GET /customers/{customer_id}/payment_profiles/{id}, PUT /customers/{customer_id}/payment_profiles/{id}, DELETE /customers/{customer_id}/payment_profiles/{id}
What I do
I manage stored payment profiles (credit card information) for customers. These are tokenized payment methods saved to a customer's account for future use. Note: These require integrated payment gateway configuration.
When to use me
Use this when:
- Saving a customer's credit card for future payments (on-file)
- Listing available payment methods on file for a customer
- Updating card expiration or details
- Removing an old/expired card from a customer's profile
How to use
Required API base URL:
VITE_REPAIRSHOPR_SUBDOMAINVITE_REPAIRSHOPR_API_KEY
Note: These endpoints require payment gateway integration (like Authorize.Net) configured in RepairShopr. Without that, you may get "Account not configured to use integrated processing."
List Payment Profiles for Customer (GET /customers/{customer_id}/payment_profiles)
customer_id(integer, required)
Create Payment Profile (POST /customers/{customer_id}/payment_profiles)
customer_id(integer, required) Body:customer_external_id(string, optional) - Payment Gateway's customer tokenpayment_profile_id(string, optional) - Gateway's stored payment profile tokenexpiration(string, optional) - Expiration date (e.g., "12/25")last_four(string, optional) - Last four digits of card
Get Single Profile (GET /customers/{customer_id}/payment_profiles/{id})
customer_id(integer)id(integer) - Payment profile ID
Update Payment Profile (PUT /customers/{customer_id}/payment_profiles/{id})
customer_id(integer)id(integer) Body:expiration,last_four(optional)
Delete Payment Profile (DELETE /customers/{customer_id}/payment_profiles/{id})
customer_id(integer)id(integer)
Example call:
// List customer's saved cards
const profiles = await skill({ name: "repairshopr-payment-profile" }, {}, { customer_id: 123, method: 'GET' })
// Add a new payment profile (tokenized)
const profile = await skill({ name: "repairshopr-payment-profile" }, {
payment_profile_id: "vault_token_abc123",
expiration: "12/25",
last_four: "4242"
}, { customer_id: 123, method: 'POST' })
Response includes:
payment_profilesarray or singlepayment_profileobject with fields:id,customer_id,expiration,last_four,used_gateway,payment_profile_id, etc.- Delete returns
{ success: true }
Important
- Storing actual credit card numbers is not done via these endpoints; instead you provide tokens from your payment gateway's vault (e.g., after a PCI-compliant capture)
- The
payment_profile_idis the gateway's token used_gatewayindicates which gateway (e.g., "authorize_net")- Availability depends on your RepairShopr plan and gateway integration
- Security: Never log or store raw card numbers
Related skills
repairshopr-payment- To create payments using stored profilesrepairshopr-customer-search- To getcustomer_id