Enable payment methods and services for your sellers
Prerequisites
- Partner credentials (payme_client_key) from PayMe Partners
- The seller's seller_payme_id (MPL)
- The vas_payme_id of each service on your partner account
Related
- List a seller's services
- Enable Apple Pay for a seller
- Enable Google Pay for a seller
- Order POS devices
- VAS types
- Accept Apple Pay
- Accept Google Pay
- Accept Bit payments
- Let the buyer choose how to pay
- Create sellers
Payment methods other than cards, such as Apple Pay, Google Pay and Bit, and other value-added services (VAS) are turned on per seller. A seller can install them in the PayMe dashboard. As a partner, you turn them on, check them and turn them off with three API calls:
| To | Call |
|---|---|
| Turn a service on | POST /vas-enable |
| See what a seller has | POST /get-vas-seller |
| Turn a service off | POST /vas-disable |
All three are partner-only. Send your payme_client_key and the seller's seller_payme_id in the JSON body; the seller must be one of yours. Base URL: https://sandbox.payme.io/api in the sandbox, https://live.payme.io/api in production.
The seller's own path: the dashboard app store
A seller who logs in to the PayMe dashboard installs Apple Pay, Google Pay or Bit from the app store (חנות אפליקציות). The method is active as soon as it is installed, and you don't need to do anything.
A seller can't call vas-enable itself, because the call needs a partner key. A seller without a partner who wants to show Apple Pay on its own domains asks PayMe Partners (partners@payme.io) to register them.
Before you start
You need:
- your partner key (
payme_client_key); - the seller's MPL (
seller_payme_id); - the
vas_payme_idof each service: your partner account's ID for that service (VASL…). Ask PayMe Partners (partners@payme.io) for the IDs of the services on your account.
You can turn on only the services that your partner account has. Any other returns error 703 with Partner has no permission for this VAS.
Turn a service on
POST https://sandbox.payme.io/api/vas-enable (production: https://live.payme.io/api/vas-enable)
{
"payme_client_key": "payme_partner_key",
"seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567",
"vas_payme_id": "VASLDEMO-GOOGLEPAY-VASLDEMO-1234567",
"language": "en"
}
| Field | Required | Description |
|---|---|---|
payme_client_key |
Yes | Your partner key. Keep it on your server. |
seller_payme_id |
Yes | The seller's MPL. The seller must be one of yours. |
vas_payme_id |
Yes | Your partner account's ID for the service. |
vas_data |
Depends on the service | The service's settings. See What each service needs. |
vas_payer_type |
No | Who pays the service fees: 1 – partner, 2 – seller, 3 – reseller. Used only when the service is first created for the seller. Default: the payer set on your partner account's service. |
language |
No | Language of error messages: he (default) or en. |
The response has one of two outcomes.
status_code: 0 – the service is on. The response holds the seller's own copy of the service: vas_guid, vas_is_active: true, its type, prices and settings.
{
"status_code": 0,
"session": "a1B2c3D4",
"seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567",
"vas_payme_id": "VASLDEMO-GOOGLEPAY-VASLDEMO-1234567",
"vas_guid": "VASLDEMO-VASLDEMO-VASLDEMO-7654321",
"vas_type": "AlternativePaymentMethod",
"vas_name": null,
"vas_is_active": true,
"vas_payer_type": 2,
"vas_price_currency": "ILS",
"vas_price_setup_fixed": 0,
"vas_price_periodic_fixed": 0,
"vas_price_periodic_variable": "0.00",
"vas_price_usage_fixed": 0,
"vas_price_usage_variable": "0.00",
"vas_market_fee": null,
"vas_period": 1
}
status_code: 2 – PayMe's team completes the setup. Some services are set up by hand. The call then opens a ticket for PayMe's team and answers:
{
"status_code": 2,
"session": "a1B2c3D4",
"seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567",
"message": "Zendesk ticket created"
}
Check the result later with get-vas-seller: vas_is_active is true once the service is on. PayMe sends partners no callback when a seller's service changes.
Calling vas-enable for a service the seller already has turns it back on and updates its settings with the vas_data you send.
What each service needs
| Service | vas_data |
Notes |
|---|---|---|
| Apple Pay | websites: the domains that show the Apple Pay button on your own pages, up to 99 per call |
PayMe checks every domain during the call. See Apple Pay domains. PayMe's own payment-page host is registered for you. |
| Google Pay | None | To show Google Pay on your own pages, also register your domain in the Google Pay & Wallet Console. See Accept Google Pay. |
| Bit | None | ILS only, one payment. See Accept Bit payments. |
| POS devices | The device order: number_of_devices and items |
Two vas-enable calls, then a manual process. See Order POS devices. |
| 3D Secure, invoicing, B2B transfers and other services | — | Set up by PayMe. Ask PayMe Partners (partners@payme.io), with the seller's MPL. |
Once a payment method is on, create sales with its sale_payment_method (apple-pay, google-pay or bit), or with multi to let the buyer choose: see Let the buyer choose how to pay. A sale with a method the seller doesn't have fails with error 720.
Apple Pay domains
To show the Apple Pay button on your own pages, register every domain and subdomain that shows it:
- Serve PayMe's domain file, unchanged, at
https://<your domain>/.well-known/apple-developer-merchantid-domain-association. The sandbox and production files are different: see Host PayMe's domain file. - Call
vas-enablewith the domains invas_data.websites. PayMe fetches each domain's file, compares it with its own, and registers the domains with Apple in the same call.
{
"payme_client_key": "payme_partner_key",
"seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567",
"vas_payme_id": "VASLDEMO-VASLDEMO-VASLDEMO-1234567",
"vas_data": {
"websites": ["example.com", "shop.example.com"]
}
}
- If any domain fails, the whole call fails with error
703, andstatus_additional_infonames each site:<site>: Certificate does not match, please reconfigure.or<site>: Cannot locate certificate.More than 99 domains also returns703. Fix the file and send the call again: nothing is left pending. - If Apple refuses the registration, the call returns error
20withDomain is not registered. - To add domains later, call
vas-enableagain with the new ones. Domains already approved stay approved. vas-update: contact PayMe support for adding Apple Pay domains to an enabled service.
The whole Apple Pay setup, including the browser SDK, is on Accept Apple Pay.
See what a seller has
Call get-vas-seller. To list only payment methods, filter by vas_type: AlternativePaymentMethod.
POST https://sandbox.payme.io/api/get-vas-seller (production: https://live.payme.io/api/get-vas-seller)
{
"payme_client_key": "payme_partner_key",
"seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567",
"vas_type": "AlternativePaymentMethod",
"language": "en"
}
Each item in items is one of the seller's services. Read vas_description (the service's name), vas_guid (the seller's copy of the service) and vas_is_active. Send vas_type as a name from VAS types: a number or an unknown name returns error 24. Inactive sellers can be queried too.
Turn a service off
POST https://sandbox.payme.io/api/vas-disable (production: https://live.payme.io/api/vas-disable), with the same three IDs as vas-enable:
{
"payme_client_key": "payme_partner_key",
"seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567",
"vas_payme_id": "VASLDEMO-GOOGLEPAY-VASLDEMO-1234567"
}
{
"status_code": 0,
"session": "a1B2c3D4",
"seller_payme_id": "MPLDEMO-MPLDEMO-MPLDEMO-1234567",
"vas_payme_id": "VASLDEMO-GOOGLEPAY-VASLDEMO-1234567"
}
As with vas-enable, the answer can be status_code: 2 with Zendesk ticket created when PayMe's team handles the change. If the seller doesn't have the service, the call returns error 720.
Once a payment method is off, a sale with that sale_payment_method fails with error 720, and multi pages stop showing it. To turn it back on, call vas-enable again.
Errors
Errors return status_code: 1 with status_error_code.
| HTTP | status_error_code |
When |
|---|---|---|
| 500 | 1 |
payme_client_key, seller_payme_id or vas_payme_id is missing (get-vas-seller needs only the first two). |
| 400 | 20 |
The seller isn't one of yours, or Apple refused an Apple Pay domain registration. |
| 500 | 24 |
get-vas-seller: vas_type is a number or an unknown name. |
| 500 | 200 |
The partner key is unknown. |
| 500 | 251 |
The seller key is unknown. |
| 400 or 500 | 703 |
Your partner account doesn't have this service, partners can't change it, or an Apple Pay domain check failed. |
| 400 or 500 | 720 |
No active service has this vas_payme_id (HTTP 500), or, on vas-disable, the seller doesn't have the service (HTTP 400). |
All error codes are on Errors.