| 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_SUBDOMAIN
VITE_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 token
payment_profile_id (string, optional) - Gateway's stored payment profile token
expiration (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:
const profiles = await skill({ name: "repairshopr-payment-profile" }, {}, { customer_id: 123, method: 'GET' })
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_profiles array or single payment_profile object 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_id is the gateway's token
used_gateway indicates 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 profiles
repairshopr-customer-search - To get customer_id