Sessions
Create Customer Session
Create a customer session.
For organizations with member_model_enabled, this will automatically
create a member session for the owner member of the customer.
Scopes: customer_sessions:write
POST
/
v1
/
customer-sessions
/
Go (SDK)
package main
import(
"context"
"os"
macropaygo "github.com/web3group/macropay-go-main"
"github.com/web3group/macropay-go-main/models/components"
"github.com/web3group/macropay-go-main/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := macropaygo.New(
macropaygo.WithSecurity(os.Getenv("MACROPAY_ACCESS_TOKEN")),
)
res, err := s.CustomerSessions.Create(ctx, operations.CreateCustomerSessionsCreateCustomerSessionCreateCustomerSessionCustomerExternalIDCreate(
components.CustomerSessionCustomerExternalIDCreate{
ReturnURL: macropaygo.Pointer("https://example.com/account"),
ExternalCustomerID: "<id>",
},
))
if err != nil {
log.Fatal(err)
}
if res.CustomerSession != nil {
// handle response
}
}from macropay_sdk import Macropay
with Macropay(
access_token="<YOUR_BEARER_TOKEN_HERE>",
) as macropay:
res = macropay.customer_sessions.create(request={
"return_url": "https://example.com/account",
"external_customer_id": "<id>",
})
# Handle response
print(res)import { Macropay } from "@macropayments/sdk";
const macropay = new Macropay({
accessToken: process.env["MACROPAY_ACCESS_TOKEN"] ?? "",
});
async function run() {
const result = await macropay.customerSessions.create({
returnUrl: "https://example.com/account",
externalCustomerId: "<id>",
});
console.log(result);
}
run();declare(strict_types=1);
require 'vendor/autoload.php';
use Macropay;
use Macropay\Models\Components;
$sdk = Macropay\Macropay::builder()
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$request = new Components\CustomerSessionCustomerExternalIDCreate(
returnUrl: 'https://example.com/account',
externalCustomerId: '<id>',
);
$response = $sdk->customerSessions->create(
request: $request
);
if ($response->customerSession !== null) {
// handle response
}curl --request POST \
--url https://api.macropay.ai/v1/customer-sessions/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customer_id": "<string>",
"return_url": "https://example.com/account"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({customer_id: '<string>', return_url: 'https://example.com/account'})
};
fetch('https://api.macropay.ai/v1/customer-sessions/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.macropay.ai/v1/customer-sessions/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customer_id\": \"<string>\",\n \"return_url\": \"https://example.com/account\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.macropay.ai/v1/customer-sessions/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customer_id\": \"<string>\",\n \"return_url\": \"https://example.com/account\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"token": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"return_url": "<string>",
"customer_portal_url": "<string>",
"customer_id": "<string>",
"customer": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"external_id": "usr_1337",
"email": "<string>",
"email_verified": true,
"name": "John Doe",
"billing_address": {
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": {
"[0]": "<string>"
},
"organization_id": "<string>",
"deleted_at": "2023-11-07T05:31:56Z",
"avatar_url": "<string>",
"type": "individual"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
You can generate an Organization Access Token from your organization's settings.
Body
application/json
- CustomerSessionCustomerIDCreate
- CustomerSessionCustomerExternalIDCreate
Schema for creating a customer session using a customer ID.
Response
Customer session created.
A customer session that can be used to authenticate as a customer.
Creation timestamp of the object.
Last modification timestamp of the object.
The ID of the object.
A customer in an organization.
Show child attributes
Show child attributes
Previous
Get SubscriptionGet a subscription for the authenticated customer.
**Scopes**: `customer_portal:read` `customer_portal:write`
Next
⌘I
Go (SDK)
package main
import(
"context"
"os"
macropaygo "github.com/web3group/macropay-go-main"
"github.com/web3group/macropay-go-main/models/components"
"github.com/web3group/macropay-go-main/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := macropaygo.New(
macropaygo.WithSecurity(os.Getenv("MACROPAY_ACCESS_TOKEN")),
)
res, err := s.CustomerSessions.Create(ctx, operations.CreateCustomerSessionsCreateCustomerSessionCreateCustomerSessionCustomerExternalIDCreate(
components.CustomerSessionCustomerExternalIDCreate{
ReturnURL: macropaygo.Pointer("https://example.com/account"),
ExternalCustomerID: "<id>",
},
))
if err != nil {
log.Fatal(err)
}
if res.CustomerSession != nil {
// handle response
}
}from macropay_sdk import Macropay
with Macropay(
access_token="<YOUR_BEARER_TOKEN_HERE>",
) as macropay:
res = macropay.customer_sessions.create(request={
"return_url": "https://example.com/account",
"external_customer_id": "<id>",
})
# Handle response
print(res)import { Macropay } from "@macropayments/sdk";
const macropay = new Macropay({
accessToken: process.env["MACROPAY_ACCESS_TOKEN"] ?? "",
});
async function run() {
const result = await macropay.customerSessions.create({
returnUrl: "https://example.com/account",
externalCustomerId: "<id>",
});
console.log(result);
}
run();declare(strict_types=1);
require 'vendor/autoload.php';
use Macropay;
use Macropay\Models\Components;
$sdk = Macropay\Macropay::builder()
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$request = new Components\CustomerSessionCustomerExternalIDCreate(
returnUrl: 'https://example.com/account',
externalCustomerId: '<id>',
);
$response = $sdk->customerSessions->create(
request: $request
);
if ($response->customerSession !== null) {
// handle response
}curl --request POST \
--url https://api.macropay.ai/v1/customer-sessions/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customer_id": "<string>",
"return_url": "https://example.com/account"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({customer_id: '<string>', return_url: 'https://example.com/account'})
};
fetch('https://api.macropay.ai/v1/customer-sessions/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.macropay.ai/v1/customer-sessions/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customer_id\": \"<string>\",\n \"return_url\": \"https://example.com/account\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.macropay.ai/v1/customer-sessions/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customer_id\": \"<string>\",\n \"return_url\": \"https://example.com/account\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"token": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"return_url": "<string>",
"customer_portal_url": "<string>",
"customer_id": "<string>",
"customer": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"metadata": {},
"external_id": "usr_1337",
"email": "<string>",
"email_verified": true,
"name": "John Doe",
"billing_address": {
"line1": "<string>",
"line2": "<string>",
"postal_code": "<string>",
"city": "<string>",
"state": "<string>"
},
"tax_id": {
"[0]": "<string>"
},
"organization_id": "<string>",
"deleted_at": "2023-11-07T05:31:56Z",
"avatar_url": "<string>",
"type": "individual"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}