partner-api-sdk
v1.0.1
Published
Partner API enables prepaid virtual cards functions in the third-party application. API allows creating and managing prepaid virtual cards for corporate customers. All around card details and operations are available for BaE corporate customers who are us
Downloads
5
Readme
Partner Prepaid Cards API
Browser and node module for making API requests against Partner Prepaid Cards API.
Installation
npm install partner-prepaid-cards-api --save
Usage
var PartnerPrepaidCardsApi = require('partner-prepaid-cards-api')
var client = new PartnerPrepaidCardsApi()
Logging
This client supports logging by using the environment variable NODE_DEBUG=Partner Prepaid Cards API
Authentication
OAuth 2.0
This API supports authentication with OAuth 2.0. Initialize the OAuth2
instance with the application client id, client secret and a redirect uri to authenticate with users.
var auth = new PartnerPrepaidCardsApi.security.<method>({
clientId: '123',
clientSecret: 'abc',
redirectUri: 'http://example.com/auth/callback'
});
// Available methods for OAuth 2.0:
- oauth_2_0
Options
You can set options when you initialize a client or at any time with the options
property. You may also override options per request by passing an object as the last argument of request methods. For example:
var client = new PartnerPrepaidCardsApi({ ... })
client('GET', '/', {
baseUri: 'http://example.com',
headers: {
'Content-Type': 'application/json'
}
})
Base URI
You can override the base URI by setting the baseUri
property, or initializing a client with a base URI. For example:
new PartnerPrepaidCardsApi({
baseUri: 'https://example.com'
});
Helpers
Exports PartnerPrepaidCardsApi.form
, which exposes a cross-platform FormData
interface that can be used with request bodies.
Methods
All methods return a HTTP request instance of Popsicle, which allows the use of promises (and streaming in node).
customers.customerId({ customerId }).cards.post([body, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
)
The method creates new prepaid virtual card and returns created card details.
it can be used to just create a card or to create and top it balance up immediatelly. Also you can control if you want to receive the full PAN and CVV code of the new card in response or you need only not sensitive card data.
Important
Card Token
received in response is the safe card token you will have to provide for all subsequent action for this card. The Token
can be stored on the Partner application side, because it is not sensitive data.
Create card and top up
In order to create and top up the card specify the Amount
greater than 0 in CreditBalance
object attributes.
Use AccountNumber
that was opened and provided after successfull customer onboarding. E.g.
"CreditDetails": {
"AccountNumber": "0010100063915101",
"Amount": 1000.55
}
One card can have more than one wallet, each holding balance in it own currency.
Create card without top up
You can specify the Amount
equal to 0 in CreditBalance
object attributes,the card will be issues but without any available balance. E.g.
"CreditDetails": {
"AccountNumber": "0010100063915101",
"Amount": 0
}
Getting sensitive card information
If you want to receive sensitive card details in response after card is issued, you have to specify optional query parameters show_cvv
and show_pan
as true
In the response you will get PAN and CVV
{
"Token": "d8605c86-d50c-4525-a9b1-81dec81304a9",
"PAN": "4545230000007576",
"CVV": "456",
"ExpiryDate": "2411",
...
...
}
Getting not sensitive card information only
If you don't want to receive sensitive card details in response after card is issued, you may omit optional query parameters show_cvv
and show_pan
or supply them as false
In the response you will not get CVV and will get masked PAN accordingly.
{
"Token": "d8605c86-d50c-4525-a9b1-81dec81304a9",
"PAN": "454523******7576",
"ExpiryDate": "2411",
...
...
}
But anyway you will be able to retrieve the sensitive information later using /pan
endpoint.
client.customers.customerId({ customerId }).cards.post([body, [options]]).then(...)
customers.customerId({ customerId }).cards.get([query, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
)
List cards for customer
client.customers.customerId({ customerId }).cards.get([query, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).get([query, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
Retrieve card
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).get([query, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).patch([body, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
Change mobile number
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).patch([body, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).status.put([body, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
Change card status
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).status.put([body, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).pan.get([query, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
Retrieve card PAN
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).pan.get([query, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).limits.post([body, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
Set card limits
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).limits.post([body, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).limits.get([query, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
Retrieve card limits
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).limits.get([query, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).transactions.get([query, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
List transactions
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).transactions.get([query, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).balance.get([query, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
Retrieve card balance
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).balance.get([query, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).balance.post([body, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
Top up card from the account
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).balance.post([body, [options]]).then(...)
customers.customerId({ customerId }).cards.cardToken({ cardToken }).balance.patch([body, [options]])
- customerId Customer ID as was provided after customer onboarding process (type:
string
) - cardToken The token of the card returned when card was issued (type:
string
)
Refund card to the account
client.customers.customerId({ customerId }).cards.cardToken({ cardToken }).balance.patch([body, [options]]).then(...)
health.get([query, [options]])
The healthcheck endpoint provides information about the health of API. If each of the components required by the service are healthy, then the service is considered healthy and will return a 200 OK response. If any of the components needed by the service are unhealthy, then a 503 Service Unavailable response will be provided.
client.health.get([query, [options]]).then(...)
License
Apache 2.0