Shell Python Node PHP C# Ruby

Send a Payout Activation Link

Trigger a secure payment activation request to the account holder. This will send an email request to the specified recipient in the sent_to nested object to connect their bank account.

Send a POST request to https://api.payload.co/payment_activations with the following payload:

curl "https://api.payload.co/payment_activations/" \
    -u secret_key_3bW9JMZtPVDOfFNzwRdfE: \
    -d intent[entity_name]="Payload, LLC" \
    -d intent[purpose]="Receive commissions" \
    -d intent[type]="bank_account" \
    -d sent_to[0][name]="The Jango Business" \
    -d sent_to[0][email]="[email protected]"
payment_activation = pl.PaymentActivation.create(
    intent={
        'entity_name': 'Payload, LLC',
        'purpose': 'Receive commissions',
        'type': 'bank_account',
        'entity_type': 'business'
    },
    send_to=[{
        'name': 'The Jango Business',
        'email': '[email protected]'
    }]
)
payment_activation = Payload::PaymentActivation.create(
    intent: {
        entity_name: 'Payload, LLC',
        purpose: 'Receive commissions',
        type: 'bank_account',
        entity_type: 'business'
    },
    send_to: [{
        name: 'The Jango Business',
        email: '[email protected]'
    }]
)
<?php
$payment_activation = Payload\PaymentActivation::create([
    'intent' => [
        'entity_name' => 'Payload, LLC',
        'purpose' => 'Receive commissions',
        'type' => 'bank_account',
        'entity_type' => 'business'
    ],
    'send_to' => [[
        'name' => 'The Jango Business',
        'email' => '[email protected]'
    ]]
]);
?>
const payment_activation = await pl.PaymentActivation.create({
    intent: {
        entity_name: 'Payload, LLC',
        purpose: 'Receive commissions',
        type: 'bank_account',
        entity_type: 'business'
    },
    send_to: [{
        name: 'The Jango Business',
        email: '[email protected]'
    }]
})
var webhook = await pl.PaymentActivation.CreateAsync(new {
    intent = new {
        entity_name = "Payload, LLC",
        purpose = "Receive commissions",
        type = "bank_account",
        entity_type = "business"
    },
    send_to = new []{
    new {
      name = "The Jango Business",
      email = "[email protected]"
    }
  }
});

Response confirming your payout activation request.

{
  "account_id": null,
  "attrs": null,
  "created_at": "Wed, 05 May 2021 17:35:14 GMT",
  "id": "acvt_3chGYjADEelXhSfhdYLQf",
  "intent": {
    "entity_name": "Payload, LLC",
    "entity_type": "business",
    "purpose": "Receive commissions",
    "type": "bank_account"
  },
  "modified_at": "Wed, 05 May 2021 17:35:14 GMT",
  "object": "payment_activation",
  "payment_method": null,
  "payment_method_id": null,
  "send_to": [
    {
      "attrs": null,
      "created_at": "Wed, 05 May 2021 17:35:14 GMT",
      "email": "[email protected]",
      "id": "ntfy_3chGYjADEfTlaIhZW9BcK",
      "modified_at": "Wed, 05 May 2021 17:35:14 GMT",
      "name": "The Jango Business",
      "object": "notification",
      "payment_activation_id": "acvt_3chGYjADEelXhSfhdYLQf",
      "phone": null,
      "reference_object": "payment_activation",
      "type": "payment_activation_req"
    }
  ],
  "status": "requested"
}

{
  // Information about the payout you're configuring.
  "intent": {
    // Set this to your business's name.
    // This will appear in the email received by your recipient.
    "entity_name": "Payload, LLC",

    // Customize this to reflect the purpose of your payout.
    // This will appear in the email received by your recipient.
    "purpose": "Receive commissions",

    // Only "bank_account" is supported.
    "type": "bank_account",

    // Can be either "business" or "individual".
    "entity_type": "business",
  },

  // An array of recipients that you want to activate payouts for.
  "send_to": [{
    // The name of the payout recipient.
    // Must match the name associated with the bank added.
    "name": "The Jango Business",

    // The email that will receive the payout activation request.
    "email": "[email protected]"
  }]
}

Watch for submission

You can configure webhooks using Payload's Webhooks API to alert your system when the status changes from requested to submitted when your payout recipient has submitted the form, and to accepted once Payload has completed its standard security checks on the submitted information.

You can also grab this info using a GET request to https://api.payload.co/payment_activations/acvt_3chGYjADEelXhSfhdYLQf, replacing the trailing ID with with that of the payment_activations object you're after.

Once the status is changed to submitted, the payment_method_id property will be populated with your recipient's payment method ID that you can now use to send a payout once it is successfully accepted.