banxa / php-sdk
Banxa Official PHP API SDK for partners
Installs: 4 363
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 2
Open Issues: 0
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- mockery/mockery: ^1.5
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-11-29 01:57:53 UTC
README
Banxa official PHP SDK
Table of Contents
General info
The Banxa SDK is a plug and play ready to go implementation to access our services.
It allows for a simple and fast integration.
Installation
Install the package via composer
composer require banxa/php-sdk
Authentication
ApiKey and ApiSecret
While on-boarding with banxa, you will be provided with API keys and a subdomain ([partnername].banxa.com),
initially these will be for the sandbox
environment.
Once you are done testing the implementation, you will receive the credentials to use the production environment.
Dependencies
Usage
Banxa::create($subdomain, $apiKey, $apiSecret, $testMode)
Sandbox
$subdomain = 'partner'; $sandboxApiKey = 'xxx-xxx-xxx-xxx-xxx'; $sandboxApiSecret = 'xxxx-xxxx-xxxx-xxxx'; $testMode = true; Banxa::create($subdomain, $sandboxApiKey, $sandboxApiSecret, $testMode)
Production
$subdomain = 'partner'; $apiKey = 'xxx-xxx-xxx-xxx-xxx'; $apiSecret = 'xxxx-xxxx-xxxx-xxxx'; Banxa::create($subdomain, $apiKey, $apiSecret)
Localisation
Countries
Global
Fetch all available countries
$banxa->getCountries()
Result Example
[ [ "country_code" => "AD", "country_name" => "Andora" ], [ "country_code" => "AE", "country_name" => "United Arab Emirates" ], ]
US States
Fetch all available US States
$banxa->getUsStates()
Result Example
[ [ "state_code" => "AL", "state_name" => "Alabama" ], [ "state_code" => "AK", "state_name" => "Alaska" ], ]
Currencies
Fiat
Buy order type
Fetch all available fiat currencies for buy order type.
$banxa->getBuyFiatCurrencies()Sell order type
Fetch all available fiat currencies for sell order type.
$banxa->getSellFiatCurrencies()
Result Example
[ [ "fiat_code" => "EUR", "fiat_name" => "Euro", "fiat_symbol" => "€", ], [ "fiat_code" => "GBP", "fiat_name" => "British Pound Sterling", "fiat_symbol" => "£", ], ]
Crypto
Buy order type
Fetch all cryptocurrencies for buy order type.
$banxa->getBuyCryptoCurrencies()Sell order type
Fetch all cryptocurrencies for sell-order type.
$banxa->getSellCryptoCurrencies()
Result Example
[ [ "coin_code"=> "BTC", "coin_name"=> "Bitcoin", "blockchains"=> [ [ "code"=> "BTC", "description"=> "Bitcoin", "is_default"=> true ] ] ], [ "coin_code"=> "ETH", "coin_name"=> "Ethereum", "blockchains"=> [ [ "code"=> "ETH", "description"=> "Ethereum (ERC-20)", "is_default"=> true ], [ "code"=> "MATIC", "description"=> "Polygon", "is_default"=> false ] ] ] ]
Payment Methods
Buy & Sell order type payment methods
Fetch all available payment providers for buy and sell order type
$banxa->getAllPaymentMethods()
Result Example
[ [ "id" => 6036, "paymentType" => "WORLDPAYCREDIT", "name" => "Visa/Mastercard", "description" => "Conveniently buy digital currency using your personal VISA or MasterCard.", "logo_url" => "https://partner.banxa.com/images/payment-providers/worlpaycredit.png", "status" => "ACTIVE", "supported_agents" => [ [ "os" => "ios", "browser" => "safari" ], [ "os" => "macos", "browser" => "safari" ], [ "os" => "ipados", "browser" => "safari" ] ], "type" => "FIAT_TO_CRYPTO", "supported_fiat" => [ "AED", ], "transaction_fees" => [ [ "fiat_code" => "AED", "coin_code" => "BTC", "fees" => [ [ "name" => "surcharge", "amount" => 3, "type" => "fixed" ] ] ], ] ], [ "id" => 6036, "paymentType" => "WORLDPAYAPPLE", "name" => "Apple Pay", "description" => "Conveniently buy digital currency using your Apple Pay wallet.", "logo_url" => "https://partner.banxa.com/images/payment-providers/apple-pay.png", "status" => "ACTIVE", "supported_agents" => [ [ "os" => "ios", "browser" => "safari" ], [ "os" => "macos", "browser" => "safari" ], [ "os" => "ipados", "browser" => "safari" ] ], "type" => "CRYPTO_TO_FIAT", "supported_fiat" => [ "AED", ], "transaction_fees" => [ [ "fiat_code" => "AED", "coin_code" => "BTC", "fees" => [ [ "name" => "surcharge", "amount" => 3, "type" => "fixed" ] ] ], ] ] ];
Buy order type payment methods
Fetch all available payment providers for buy order type
$banxa->getBuyPaymentMethods($fiatCode, $coinCode)
Result Example
[ "id" => 6036, "paymentType" => "WORLDPAYAPPLE", "name" => "Apple Pay", "description" => "Conveniently buy digital currency using your Apple Pay wallet.", "logo_url" => "https://partner.banxa.com/images/payment-providers/apple-pay.png", "status" => "ACTIVE", "supported_agents" => [ [ "os" => "ios", "browser" => "safari" ], [ "os" => "macos", "browser" => "safari" ], [ "os" => "ipados", "browser" => "safari" ] ], "type" => "FIAT_TO_CRYPTO", "supported_fiat" => [ "AED", ], "transaction_fees" => [ [ "fiat_code" => "AED", "coin_code" => "BTC", "fees" => [ [ "name" => "surcharge", "amount" => 3, "type" => "fixed" ] ] ], ] ]
Sell order type payment methods
Fetch all available payment methods for sell order type
$banxa->getSellPaymentMethods($coinCode, $fiatCode)
Result Example
[ "id" => 6036, "paymentType" => "DIRECTCREDIT", "name" => "Bank Transfer", "description" => "Sell digital currency to us and have the value directly credited to your bank account", "logo_url" => "https://partner.banxa.com/images/payment-providers/directcredit.png", "status" => "ACTIVE", "supported_agents" => [ [ "os" => "ios", "browser" => "safari" ], [ "os" => "macos", "browser" => "safari" ], [ "os" => "ipados", "browser" => "safari" ] ], "type" => "CRYPTO_TO_FIAT", "supported_fiat" => [ "AED", ], "transaction_fees" => [ [ "fiat_code" => "AED", "coin_code" => "BTC", "fees" => [ [ "name" => "surcharge", "amount" => 3, "type" => "fixed" ] ] ], ] ]
Prices
Get prices for Payment Methods to obtain a payment method id for each specific fiat.
Buy order types pricing
Fetch all available prices for buy order type
$banxa->getAllBuyPrices( $fiatCode, $coinCode, $fiatAmount, $blockchain )
Result Example
[ "spot_price" => "1.07", "prices" => [ [ "payment_method_id" => 6047, "type" => "FIAT_TO_CRYPTO", "spot_price_fee" => "0.00", "spot_price_including_fee" => "1.07", "coin_amount" => "93.84000000", "coin_code" => "USDT", "fiat_amount" => "100.00", "fiat_code" => "USD", "fee_amount" => "0.00", "network_fee" => "2.37" ], [ "payment_method_id" => 6058, "type" => "FIAT_TO_CRYPTO", "spot_price_fee" => "0.00", "spot_price_including_fee" => "1.09", "coin_amount" => "93.84000000", "coin_code" => "USDT", "fiat_amount" => "100.00", "fiat_code" => "USD", "fee_amount" => "0.00", "network_fee" => "2.37" ] ] ]
Buy order type pricing
Fetch single price for buy order type for a specific payment method
$banxa->getBuyPrice( $fiatCode, $coinCode, $fiatAmount, $paymentMethodId, $blockchain )
Result Example
[ "payment_method_id" => 6058, "type" => "FIAT_TO_CRYPTO", "spot_price_fee" => "0.00", "spot_price_including_fee" => "1.09", "coin_amount" => "93.84000000", "coin_code" => "USDT", "fiat_amount" => "100.00", "fiat_code" => "USD", "fee_amount" => "0.00", "network_fee" => "2.37" ]
Sell order types pricing
Fetch all available prices for sell order type
$banxa->getAllSellPrices( $coinCode, $fiatCode, $coinAmount )
Result Example
[ "spot_price" => "1.07", "prices" => [ [ "payment_method_id" => 6045, "type" => "CRYPTO_TO_FIAT", "spot_price_fee" => "0.00", "spot_price_including_fee" => "32500.00", "coin_amount" => "0.02000000", "coin_code" => "BTC", "fiat_amount" => "100.00", "fiat_code" => "AUD", "fee_amount" => "0.00", "network_fee" => "0.00" ], [ "payment_method_id" => 6046, "type" => "CRYPTO_TO_FIAT", "spot_price_fee" => "0.00", "spot_price_including_fee" => "32500.00", "coin_amount" => "0.04000000", "coin_code" => "BTC", "fiat_amount" => "650.00", "fiat_code" => "AUD", "fee_amount" => "0.00", "network_fee" => "0.00" ], ] ]
Sell order type pricing
Fetch single price for buy order type for a specific payment method
$banxa->getSellPrice( $coinCode, $fiatCode, $coinAmount, $paymentMethodId )
Result Example
[ "payment_method_id" => 6033, "type" => "CRYPTO_TO_FIAT", "spot_price_fee" => "0.00", "spot_price_including_fee" => "1.09", "coin_amount" => "93.84000000", "coin_code" => "USDT", "fiat_amount" => "100.00", "fiat_code" => "USD", "fee_amount" => "0.00", "network_fee" => "2.37" ]
Orders
Retrieving orders
Fetch orders
Fetch all orders within a specific time range. (paginated)
$banxa->getOrders( $startDate, $endDate, $statuses, $perPage, $page, $accountReference )
Result Example
[ [ "id" => "e7f3d4e436c8925af84a391f317aaa6e", "account_id" => "ebfef819583ff4573e6db307abd9c126", "account_reference" => "banxa-account", "order_type" => "CRYPTO-BUY", "ref" => 501903, "country" => "AU", "fiat_code" => "AUD", "fiat_amount" => 100, "coin_code" => "BTC", "coin_amount" => 0.00704583, "wallet_address" => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "wallet_address_tag" => null, "fee" => 0, "fee_tax" => 0, "payment_fee" => 2.14, "payment_fee_tax" => 0.19, "commission" => 0, "tx_hash" => "sync-tx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "tx_confirms" => 10, "created_date" => "01-Jul-2022", "created_at" => "01-Jul-2022 07:51:18", "payment_type" => "WorldPay Credit Card", "status" => "complete", "completed_at" => "01-Jul-2022 07:55:19", "merchant_fee" => 0, "merchant_commission" => 0, "meta_data" => null, "blockchain" => [ "code" => "BTC", "description" => "Bitcoin" ] ], [ "id" => "b719377e3541921297ebef33016fb068", "account_id" => "ebfef819583ff4573e6db307abd9c126", "account_reference" => "banxa-account", "order_type" => "CRYPTO-BUY", "ref" => 501902, "country" => "AU", "fiat_code" => "AUD", "fiat_amount" => 320, "coin_code" => "BTC", "coin_amount" => 0.02255405, "wallet_address" => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "wallet_address_tag" => null, "fee" => 0, "fee_tax" => 0, "payment_fee" => 6.83, "payment_fee_tax" => 0.62, "commission" => 0, "tx_hash" => "sync-tx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "tx_confirms" => 10, "created_date" => "01-Jul-2022", "created_at" => "01-Jul-2022 07:51:18", "payment_type" => "WorldPay Credit Card", "status" => "complete", "completed_at" => "01-Jul-2022 07:55:19", "merchant_fee" => 0, "merchant_commission" => 0, "meta_data" => null, "blockchain" => [ "code" => "BTC", "description" => "Bitcoin" ] ] ]
Fetch order
Fetch single order
$banxa->getOrder($orderId);
Result Example
[ "id" => "b719377e3541921297ebef33016fb068", "account_id" => "ebfef819583ff4573e6db307abd9c126", "account_reference" => "banxa-account", "order_type" => "CRYPTO-BUY", "ref" => 501902, "country" => "AU", "fiat_code" => "AUD", "fiat_amount" => 320, "coin_code" => "BTC", "coin_amount" => 0.02255405, "wallet_address" => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "wallet_address_tag" => null, "fee" => 0, "fee_tax" => 0, "payment_fee" => 6.83, "payment_fee_tax" => 0.62, "commission" => 0, "tx_hash" => "sync-tx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "tx_confirms" => 10, "created_date" => "01-Jul-2022", "created_at" => "01-Jul-2022 07:51:18", "payment_type" => "WorldPay Credit Card", "status" => "complete", "completed_at" => "01-Jul-2022 07:55:19", "merchant_fee" => 0, "merchant_commission" => 0, "meta_data" => null, "blockchain" => [ "code" => "BTC", "description" => "Bitcoin" ] ]
Creating orders
Allows your customer to create a buy or sell crypto order with Banxa. Upon success, the response will contain a checkout URL which will be unique for the order. The customer will be redirected to this URL to complete the checkout process, which will expire after 1 minute if a redirect does not occur.
When creating an order you will be required to create a BuyOrderTransaction/SellOrderTransaction/NftBuyOrderTransaction object. This object will allow you to create a transaction using a fiat amount, coin amount, or if you require both, you can specify your own amount using the createDynamic method, this will depend on your business use case.
Creating a buy order
$banxa->createBuyOrder( $buyOrderTransaction, $returnUrlOnSuccess, $returnUrlOnFailure, $returnUrlOnCancelled, $metadata, $readOnlyAmounts, $iframeRefererDomain, $optionalOrderParameters );
BuyOrderTransaction using Fiat as base amount
$buyOrderTransaction = BuyOrderTransaction::createFromFiatAmount( $accountReference, $fiatCode, $coinCode, $fiatAmount, $walletAddress, $paymentMethodId );
BuyOrderTransaction using Coin as base amount
$buyOrderTransaction = BuyOrderTransaction::createFromCoinAmount( $accountReference, $fiatCode, $coinCode, $coinAmount, $walletAddress, $paymentMethodId );
BuyOrderTransaction using dynamic sourceAmount or targetAmount
When using BuyOrderTransaction::createDynamic you will need to specify
$source
(Fiat),$target
(Coin), and either$sourceAmount
or$targetAmount
$buyOrderTransaction = BuyOrderTransaction::createDynamic( $accountReference, $source, $target, $sourceAmount, $targetAmount, $walletAddress, $refundAddress, $paymentMethodId, $blockchain, $walletAddressTag );
optionalOrderParameters
$optionalOrderParameters = optionalOrderParameters::create( $sourceAddress, $sourceAddressTag, $email, $mobile, );
Buy order full example
$buyOrderTransaction = BuyOrderTransaction::createFromFiatAmount($accountReference, $fiatCode, $coinCode, $fiatAmount, $walletAddress, $paymentMethodId, $blockchain, $walletAddressTag);// From Fiat Amount$buyOrderTransaction = BuyOrderTransaction::createFromCoinAmount($accountReference, $fiatCode, $coinCode, $coinAmount, $walletAddress, $paymentMethodId, $blockchain, $walletAddressTag);// From Coin Amount$buyOrderTransaction = BuyOrderTransaction::createDynamic($accountReference, $source, $target, $sourceAmount, null, $walletAddress, null, $paymentMethodId, $blockchain, $walletAddressTag); // Dynamic$buyOrderTransaction = BuyOrderTransaction::createDynamic($accountReference, $source, $target, null, $targetAmount, $walletAddress, null, $paymentMethodId, $blockchain, $walletAddressTag); // Dynamic$optionalOrderParameters = OptionalOrderParameters::create($sourceAddress, $sourceAddressTag, $email, $mobile);$banxa->createBuyOrder( $buyOrderTransaction, $returnUrlOnSuccess, $returnUrlOnFailure, $returnUrlOnCancelled, $metadata, $readOnlyAmounts, $iframeRefererDomain, $optionalOrderParameters );Result Example
[ "id" => "b890df4aee4583a25ca8da17eb863c81", "account_id" => "3ec8d3c67617af11d84a18931c4e369d", "account_reference" => "banxa-test-01", "order_type" => "CRYPTO-BUY", "fiat_code" => "AUD", "fiat_amount" => 1, "coin_code" => "BTC", "wallet_address" => "1LbQ1WNTsm1Nzj1hbh3WDCbEim1oUg5rfi", "blockchain" => [ "id" => 1, "code" => "BTC", "description" => "Bitcoin" ], "created_at" => "17-Aug-2022 00:09:03", "checkout_url" => "https://your-return-url" ]
Creating a NFT buy order
$banxa->createNftBuyOrder( $nftBuyOrderTransaction, $nftData, $returnUrlOnSuccess, $returnUrlOnFailure, $returnUrlOnCancelled, $iframeRefererDomain );
NftBuyOrderTransaction
$nftBuyOrderTransaction = NftBuyOrderTransaction::create( $accountReference, $fiatCode, $coinCode, $fiatAmount, $walletAddress, $paymentMethodId = null, $blockchain = null, $walletAddressTag = null );
NftData
$nftData = NftData::create( $purchaseReference, $nft, $metaData );
Nft
$nft = Nft::create( $name, $collection, $nftMedia, );
Create VideoNftMedia
$nftMedia = VideoNftMedia::create($link);Create ImageNftMedia
$nftMedia = ImageNftMedia::create($link);
Nft buy order full example
$nftBuyOrderTransaction = NftBuyOrderTransaction::create( $accountReference, $fiatCode, $coinCode, $fiatAmount, $walletAddress, $paymentMethodId, $blockchain, $walletAddressTag ); $nftMedia = ImageNftMedia::create($link); // OR $nftMedia = VideoNftMedia::create($link) $nft = Nft::create( $name, $collection, $nftMedia, ); $nftData = NftData::create( $purchaseReference, $nft, $metaData ); $banxa->createNftBuyOrder( $nftBuyOrderTransaction, $nftData, $returnUrlOnSuccess, $returnUrlOnFailure, $returnUrlOnCancelled, $iframeRefererDomain, );Result Example
[ "id" => "b890df4aee4583a25ca8da17eb863c81", "account_id" => "3ec8d3c67617af11d84a18931c4e369d", "account_reference" => "Banxa-Testing-01", "order_type" => "NFT-BUY", "blockchain" => [ "id" => 1, "code" => "ETH", "description" => "Ethereum (ERC-20)" ], "created_at" => "17-Aug-2022 00:09:03", "checkout_url" => "https://your-return-url" ]
Creating a Sell order
$banxa->createSellOrder( $sellOrderTransaction, $returnUrlOnSuccess, $returnUrlOnFailure, $returnUrlOnCancelled, $metadata, $readOnlyAmounts, $iframeRefererDomain, $optionalOrderParameters, )
SellOrderTransaction using Fiat as base amount
$sellOrderTransaction = SellOrderTransaction::createFromFiatAmount( $accountReference, $fiatCode, $coinCode, $fiatAmount, $refundAddress, $paymentMethodId, $blockchain, $walletAddressTag, );
sellOrderTransaction using Coin as base amount
$sellOrderTransaction = SellOrderTransaction::createFromCoinAmount( $accountReference, $fiatCode, $coinCode, $coinAmount, $refundAddress, $paymentMethodId, $blockchain, $walletAddressTag, );
sellOrderTransaction using dynamic sourceAmount or targetAmount
When using SellOrderTransaction::createDynamic you will need to specify
$source
(Coin),$target
(Fiat), and either$sourceAmount
or$targetAmount
$sellOrderTransaction = SellOrderTransaction::createDynamic( $accountReference, $source, $target, $sourceAmount, $targetAmount, $walletAddress, $refundAddress, $paymentMethodId, $blockchain, $walletAddressTag );
optionalOrderParameters
$optionalOrderParameters = optionalOrderParameters::create( $sourceAddress, $sourceAddressTag, $email, $mobile, );
Sell order full example
$sellOrderTransaction = SellOrderTransaction::createFromFiatAmount($accountReference, $fiatCode, $coinCode, $fiatAmount, $refundAddress, $paymentMethodId, $blockchain, $walletAddressTag);// From Fiat Amount$sellOrderTransaction = SellOrderTransaction::createFromCoinAmount($accountReference, $fiatCode, $coinCode, $coinAmount, $refundAddress, $paymentMethodId, $blockchain, $walletAddressTag);// From Coin Amount$sellOrderTransaction = SellOrderTransaction::createDynamic($accountReference, $source, $target, $sourceAmount, null, null, $refundAddress, $paymentMethodId, $blockchain, $walletAddressTag); // Dynamic$sellOrderTransaction = SellOrderTransaction::createDynamic($accountReference, $source, $target, null, $targetAmount, null, $refundAddress, $paymentMethodId, $blockchain, $walletAddressTag); // Dynamic$optionalOrderParameters = OptionalOrderParameters::create($sourceAddress, $sourceAddressTag, $email, $mobile);$banxa->createSellOrder( $sellOrderTransaction, $returnUrlOnSuccess, $returnUrlOnFailure, $returnUrlOnCancelled, $metadata, $readOnlyAmounts, $iframeRefererDomain, $optionalOrderParameters, );Result Example
[ "id" => "b890df4aee4583a25ca8da17eb863c81", "account_id" => "3ec8d3c67617af11d84a18931c4e369d", "account_reference" => "banxa-test-01", "order_type" => "CRYPTO-SELL", "fiat_code" => "AUD", "fiat_amount" => 1, "coin_code" => "BTC", "wallet_address" => "1LbQ1WNTsm1Nzj1hbh3WDCbEim1oUg5rfi", "blockchain" => [ "id" => 1, "code" => "BTC", "description" => "Bitcoin" ], "created_at" => "17-Aug-2022 00:09:03", "checkout_url" => "https://your-return-url" ]
Confirm sell order
Once the coin amount transfer for a Sell Order has been executed,
Banxa must be notified by sending a request to this endpoint with transaction hash, source and destination wallet address details.$banxa->confirmSellOrder( $orderId, $txHash, $sourceAddress, $destinationAddress, $sourceAddressTag, $destinationAddressTag )
Result Example
[ "id" => "ee94a43403fb608f341dd5c4c899b846", "account_id" => "d6e7ab2b8f638bed61dc0ac5bec37d4d", "account_reference" => "banxa-account", "order_type" => "CRYPTO-SELL", "payment_type" => "CLEARJCNSELLFP", "ref" => 507000, "fiat_code" => "AUD", "fiat_amount" => 100, "coin_code" => "BTC", "coin_amount" => 0.00286436, "wallet_address" => null, "wallet_address_tag" => null, "fee" => 9.1, "fee_tax" => 0, "payment_fee" => 0, "payment_fee_tax" => 0, "commission" => 0.1, "tx_hash" => null, "tx_confirms" => 0, "created_date" => "01-Jul-2022", "created_at" => "01-Jul-2022 07:51:18", "status" => "in progress", "completed_at" => null, "merchant_fee" => 6.54, "merchant_commission" => 0.05, "meta_data" => null, "blockchain" => [ "id" => 1, "code" => "BTC", "description" => "Bitcoin" ] ]
Identity
Create Identity
Allows you to share customer details with Banxa before an Order is created.
This reduces the need for customers to re-submit personal details and upload KYC documentation during the Banxa checkout flow.
Detailed guide on how to implement this API can be found here. You can also find Testing information here$banxa->createIdentity( $identitySharingCollection, $customerDetails, $residentialAddress $customerIdentity, $identityDocumentCollection, )
IdentitySharingCollection
IdentitySharingCollection::create($kycProviders)
IdentitySharingProvider
IdentitySharingProvider::create($provider, $token)
CustomerDetail
$customerDetail = CustomerDetail::create($accountReference, $mobileNumber, $emailAddress);
ResidentialAddress
$residentialAddress = ResidentialAddress::create($country, $addressLine, $suburb, $postCode, $state);
CustomerIdentity
$customerIdentity = CustomerIdentity::create($givenName, $surname, $dateOfBirth);
IdentityDocumentCollection
IdentityDocument
IdentityDocument::create($documentType, $imageLinks, $documentNumber)
Full Example
$kycProviders = [ IdentitySharingProvider::create($provider, $token), IdentitySharingProvider::create($provider, $token), ]; $documents = [ IdentityDocument::create($documentType, $imageLinks, $documentNumber), IdentityDocument::create($documentType, $imageLinks), ]; $identitySharingCollection = IdentitySharingCollection::create($kycProviders); $customerDetail = CustomerDetail::create($accountReference, $mobileNumber, $emailAddress); $residentialAddress = ResidentialAddress::create($country, $addressLine, $suburb, $postCode, $state); $customerIdentity = CustomerIdentity::create($givenName, $surname, $dateOfBirth); $identityDocumentCollection = IdentityDocumentCollection::create($documents); $banxa->createIdentity( $identitySharingCollection, $customerDetail, $residentialAddress, $customerIdentity, $identityDocumentCollection );
Result Example
[ "account_id" => "28d517af407a0566204acd75e3a8e5b7", "account_reference" => "test001001" ]