Repository: camel Updated Branches: refs/heads/master 0c5c35fa9 -> 0ea358af2
Add camel-braintree docs to gitbook Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0ea358af Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0ea358af Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0ea358af Branch: refs/heads/master Commit: 0ea358af2726ceca32cdf061b6ae6a0d20a2369e Parents: 0c5c35f Author: Andrea Cosentino <anco...@gmail.com> Authored: Wed Feb 10 14:02:04 2016 +0100 Committer: Andrea Cosentino <anco...@gmail.com> Committed: Wed Feb 10 14:02:04 2016 +0100 ---------------------------------------------------------------------- .../src/main/docs/braintree.adoc | 714 +++++++++++++++++++ docs/user-manual/en/SUMMARY.md | 1 + 2 files changed, 715 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/0ea358af/components/camel-braintree/src/main/docs/braintree.adoc ---------------------------------------------------------------------- diff --git a/components/camel-braintree/src/main/docs/braintree.adoc b/components/camel-braintree/src/main/docs/braintree.adoc new file mode 100644 index 0000000..2756db0 --- /dev/null +++ b/components/camel-braintree/src/main/docs/braintree.adoc @@ -0,0 +1,714 @@ +[[Braintree-BraintreeComponent]] +Braintree Component +~~~~~~~~~~~~~~~~~~~ + +*Available as of Camel 2.17* + +The Braintree component provides access to +https://www.braintreepayments.com/[Braintree Payments] trough through +theirs https://developers.braintreepayments.com/start/hello-server/java[Java +SDK]. + +All client applications need API credential in order to process +payments. In order to use camel-braintree with your account, you'll need +to create a new +https://www.braintreepayments.com/get-started[Sandbox] or https://www.braintreepayments.com/signup[Production] +account. + + +Maven users will need to add the following dependency to their pom.xml +for this component: + + +[source,xml] +-------------------------------------------- +<dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-braintree</artifactId> + <version>${camel-version}</version> +</dependency> +-------------------------------------------- + + + +[[Braintree-URIformat]] +URI format +^^^^^^^^^^ + + + +[source,java] +--------------------------------------------- +linkedin://endpoint-prefix/endpoint?[options] +--------------------------------------------- + + + +Endpoint prefix can be one of: + +* addOn +* address +* clientToken +* creditCardverification +* customer +* discount +* merchantAccount +* paymentmethod +* paymentmethodNonce +* plan +* settlementBatchSummary +* subscription +* transaction +* webhookNotification + + + +[[Braintree-BraintreeComponent.1]] +BraintreeComponent +^^^^^^^^^^^^^^^^^^ + +The Braintree Component can be configured with the options below. These +options can be provided using the component's bean +property *configuration* of +type *org.apache.camel.component.braintree.BraintreeConfiguration*. + +[cols="<,<,<",options="header",] +|======================================================================= +|Option |Type |Description +|environment |String |value that specifies where requests should be +directed â sandbox or production + +|merchantId |String |a unique identifier for your gateway account, which +is different than your merchant account ID + +|publicKey |String |user-specific public identifier + +|privateKey |String |user-specific secure identifier that should not be +shared â even with us! +|======================================================================= + +All the options above are provided by Braintree Payments + +[[Braintree-ProducerEndpoints:]] +Producer Endpoints: +^^^^^^^^^^^^^^^^^^^ + +Producer endpoints can use endpoint prefixes followed by endpoint names +and associated options described next. A shorthand alias can be used for +some endpoints. The endpoint URI MUST contain a prefix. + +Endpoint options that are not mandatory are denoted by []. When there +are no mandatory options for an endpoint, one of the set of [] options +MUST be provided. Producer endpoints can also use a special +option *inBody* that in turn should contain the name of the endpoint +option whose value will be contained in the Camel Exchange In message. + +Any of the endpoint options can be provided in either the endpoint URI, +or dynamically in a message header. The message header name must be of +the format *CamelBraintree.<option>*. Note that the *inBody* option +overrides message header, i.e. the endpoint option *inBody=option* would +override a *CamelBraintree.option* header. + +For more information on the endpoints and options see Braintree +references +at https://developers.braintreepayments.com/reference/overview[https://developers.braintreepayments.com/reference/overview] + + + +[[Braintree-EndpointprefixaddOn]] +Endpoint prefix _addOn_ ++++++++++++++++++++++++ + +The following endpoints can be invoked with the prefix *addOn* as +follows: + + + +[source,java] +-------------------------- +braintree://addOn/endpoint +-------------------------- + +[cols="<,<,<,<",options="header",] +|==================================================== +|Endpoint |Shorthand Alias |Options |Result Body Type +|all | | |List<com.braintreegateway.Addon> +|==================================================== + +[[Braintree-Endpointprefixaddress]] +Endpoint prefix _address_ ++++++++++++++++++++++++++ + +The following endpoints can be invoked with the prefix *address* as +follows: + + + +[source,java] +-------------------------------------- +braintree://address/endpoint?[options] +-------------------------------------- + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|create | |customerId, request +|com.braintreegateway.Result<com.braintreegateway.Address> + +|delete | |customerId, id +|com.braintreegateway.Result<com.braintreegateway.Address> + +|find | |customerId, id |com.braintreegateway.Address + +|update | |customerId, id, request +|com.braintreegateway.Result<com.braintreegateway.Address> +|======================================================================= + +[[Braintree-URIOptionsforaddress]] +URI Options for _address_ + +[cols="<,<",options="header",] +|============================================ +|Name |Type +|customerId |String +|request |com.braintreegateway.AddressRequest +|id |String +|============================================ + +[[Braintree-EndpointprefixclientToken]] +Endpoint prefix _clientToken_ ++++++++++++++++++++++++++++++ + +The following endpoints can be invoked with the prefix *clientToken* as +follows: + + + +[source,java] +------------------------------------------ +braintree://clientToken/endpoint?[options] +------------------------------------------ + +[cols="<,<,<,<",options="header",] +|==================================================== +|Endpoint |Shorthand Alias |Options |Result Body Type +|generate | | request |String +|==================================================== + +[[Braintree-URIOptionsforclientToken]] +URI Options for _clientToken_ + +[cols="<,<",options="header",] +|================================================ +|Name |Type +|request |com.braintreegateway.ClientTokenrequest +|================================================ + +[[Braintree-EndpointprefixcreditCardVerification]] +Endpoint prefix _creditCardVerification_ +++++++++++++++++++++++++++++++++++++++++ + +The following endpoints can be invoked with the +prefix *creditCardverification* as follows: + + + +[source,java] +----------------------------------------------------- +braintree://creditCardVerification/endpoint?[options] +----------------------------------------------------- + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|find | | id |com.braintreegateway.CreditCardVerification + +|search | |query +|com.braintreegateway.ResourceCollection<com.braintreegateway.CreditCardVerification> +|======================================================================= + +[[Braintree-URIOptionsforcreditCardVerification]] +URI Options for _creditCardVerification_ + +[cols="<,<",options="header",] +|=============================================================== +|Name |Type +|id |String +|query |com.braintreegateway.CreditCardVerificationSearchRequest +|=============================================================== + +[[Braintree-Endpointprefixcustomer]] +Endpoint prefix _customer_ +++++++++++++++++++++++++++ + +The following endpoints can be invoked with the prefix *customer* as +follows: + + + +[source,java] +--------------------------------------- +braintree://customer/endpoint?[options] +--------------------------------------- + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|all | | | + +|create | |request +|com.braintreegateway.Result<com.braintreegateway.Customer> + +|delete | |id +|com.braintreegateway.Result<com.braintreegateway.Customer> + +|find | |id |com.braintreegateway.Customer + +|search | |query +|com.braintreegateway.ResourceCollection<com.braintreegateway.Customer> + +|update | |id, request +|com.braintreegateway.Result<com.braintreegateway.Customer> +|======================================================================= + +[[Braintree-URIOptionsforcustomer]] +URI Options for _customer_ + +[cols="<,<",options="header",] +|================================================= +|Name |Type +|id |String +|request |com.braintreegateway.CustomerRequest +|query |com.braintreegateway.CustomerSearchRequest +|================================================= + +[[Braintree-Endpointprefixdiscount]] +Endpoint prefix _discount_ +++++++++++++++++++++++++++ + +The following endpoints can be invoked with the prefix *discount* as +follows: + + + +[source,java] +----------------------------- +braintree://discount/endpoint +----------------------------- + +[cols="<,<,<,<",options="header",] +|==================================================== +|Endpoint |Shorthand Alias |Options |Result Body Type +|all | | |List<com.braintreegateway.Discount> +|==================================================== + + + + + + + +[[Braintree-EndpointprefixmerchantAccount]] +Endpoint prefix _merchantAccount_ ++++++++++++++++++++++++++++++++++ + +The following endpoints can be invoked with the +prefix *merchantAccount* as follows: + + + +[source,java] +---------------------------------------------- +braintree://merchantAccount/endpoint?[options] +---------------------------------------------- + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|create | |request +|com.braintreegateway.Result<com.braintreegateway.MerchantAccount> + +|find | |id |com.braintreegateway.MerchantAccount + +|update | |id, request +|com.braintreegateway.Result<com.braintreegateway.MerchantAccount> +|======================================================================= + +[[Braintree-URIOptionsformerchantAccount]] +URI Options for _merchantAccount_ + +[cols="<,<",options="header",] +|==================================================== +|Name |Type +|id |String +|request |com.braintreegateway.MerchantAccountRequest +|==================================================== + +[[Braintree-EndpointprefixpaymentMethod]] +Endpoint prefix _paymentMethod_ ++++++++++++++++++++++++++++++++ + +The following endpoints can be invoked with the +prefix *paymentMethod* as follows: + + + +[source,java] +-------------------------------------------- +braintree://paymentMethod/endpoint?[options] +-------------------------------------------- + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|create | |request +|com.braintreegateway.Result<com.braintreegateway.PaymentMethod> + +|delete | |token +|com.braintreegateway.Result<com.braintreegateway.PaymentMethod> + +|find | |token |com.braintreegateway.PaymentMethod + +|update | |token, request +|com.braintreegateway.Result<com.braintreegateway.PaymentMethod> +|======================================================================= + +[[Braintree-URIOptionsforpaymentMethod]] +URI Options for _paymentMethod_ + +[cols="<,<",options="header",] +|================================================== +|Name |Type +|token |String +|request |com.braintreegateway.PaymentMethodRequest +|================================================== + +[[Braintree-EndpointprefixpaymentMethodNonce]] +Endpoint prefix _paymentMethodNonce_ +++++++++++++++++++++++++++++++++++++ + +The following endpoints can be invoked with the +prefix *paymentMethodNonce* as follows: + + + +[source,java] +------------------------------------------------- +braintree://paymentMethodNonce/endpoint?[options] +------------------------------------------------- + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|create | |paymentMethodToken +|com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> + +|find | |paymentMethodNonce |com.braintreegateway.PaymentMethodNonce +|======================================================================= + +[[Braintree-URIOptionsforpaymentMethodNonce]] +URI Options for _paymentMethodNonce_ + +[cols="<,<",options="header",] +|========================== +|Name |Type +|paymentMethodToken |String +|paymentMethodNonce |String +|========================== + +[[Braintree-Endpointprefixplan]] +Endpoint prefix _plan_ +++++++++++++++++++++++ + +The following endpoints can be invoked with the prefix *plan* as +follows: + + + +[source,java] +------------------------- +braintree://plan/endpoint +------------------------- + +[cols="<,<,<,<",options="header",] +|==================================================== +|Endpoint |Shorthand Alias |Options |Result Body Type +|all | | |List<com.braintreegateway.Plan> +|==================================================== + + + +[[Braintree-EndpointprefixsettlementBatchSummary]] +Endpoint prefix _settlementBatchSummary_ +++++++++++++++++++++++++++++++++++++++++ + +The following endpoints can be invoked with the +prefix *settlementBatchSummary* as follows: + + + +[source,java] +----------------------------------------------------- +braintree://settlementBatchSummary/endpoint?[options] +----------------------------------------------------- + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|generate | | request +|com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> +|======================================================================= + +[[Braintree-URIOptionsforsettlementBatchSummary]] +URI Options for _settlementBatchSummary_ + +[cols="<,<",options="header",] +|========================== +|Name |Type +|settlementDate |Calendar +|groupByCustomField |String +|========================== + +[[Braintree-Endpointprefixsubscription]] +Endpoint prefix _subscription_ +++++++++++++++++++++++++++++++ + +The following endpoints can be invoked with the prefix *subscription* as +follows: + + + +[source,java] +------------------------------------------- +braintree://subscription/endpoint?[options] +------------------------------------------- + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|cancel | | id +| com.braintreegateway.Result<com.braintreegateway.Subscription> + +|create | |request +|com.braintreegateway.Result<com.braintreegateway.Subscription> + +|delete | |customerId, id +|com.braintreegateway.Result<com.braintreegateway.Subscription> + +|find | |id |com.braintreegateway.Subscription + +|retryCharge | |subscriptionId, amount +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|search | |searchRequest +|com.braintreegateway.ResourceCollection<com.braintreegateway.Subscription> + +|update | |id, request +|com.braintreegateway.Result<com.braintreegateway.Subscription> +|======================================================================= + +[[Braintree-URIOptionsforsubscription]] +URI Options for _subscription_ + +[cols="<,<",options="header",] +|============================================================== +|Name |Type +|id |String +|request |com.braintreegateway.SubscriptionRequest +|customerId |String +|subscriptionId |String +|amount |BigDecimal +|searchRequest |com.braintreegateway.SubscriptionSearchRequest. +|============================================================== + + + +[[Braintree-Endpointprefixtransaction]] +Endpoint prefix _transaction_ ++++++++++++++++++++++++++++++ + +The following endpoints can be invoked with the prefix *transaction* as +follows: + + + +[source,java] +------------------------------------------ +braintree://transaction/endpoint?[options] +------------------------------------------ + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|cancelRelease | |id +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|cloneTransaction | |id, cloneRequest +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|credit | |request +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|find | |id |com.braintreegateway.Transaction + +|holdInEscrow | |id +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|releaseFromEscrow | |id +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|refund | |id, amount +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|sale | |request +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|search | |query +|com.braintreegateway.ResourceCollection<com.braintreegateway.Transaction> + +|submitForPartialSettlement | |id, amount +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|submitForSettlement | |id, amount, request +|com.braintreegateway.Result<com.braintreegateway.Transaction> + +|voidTransaction | |id +|com.braintreegateway.Result<com.braintreegateway.Transaction> +|======================================================================= + +[[Braintree-URIOptionsfortransaction]] +URI Options for _transaction_ + +[cols="<,<",options="header",] +|========================================================== +|Name |Type +|id |String +|request |com.braintreegateway.TransactionCloneRequest +|cloneRequest |com.braintreegateway.TransactionCloneRequest +|amount |BigDecimal +|query |com.braintreegateway.TransactionSearchRequest +|========================================================== + +[[Braintree-EndpointprefixwebhookNotification]] +Endpoint prefix _webhookNotification_ ++++++++++++++++++++++++++++++++++++++ + +The following endpoints can be invoked with the +prefix *webhookNotification* as follows: + + + +[source,java] +-------------------------------------------------- +braintree://webhookNotification/endpoint?[options] +-------------------------------------------------- + +[cols="<,<,<,<",options="header",] +|======================================================================= +|Endpoint |Shorthand Alias |Options |Result Body Type +|parse | | signature, payload |com.braintreegateway.WebhookNotification +|verify | |challenge |String +|======================================================================= + +[[Braintree-URIOptionsforwebhookNotification]] +URI Options for _webhookNotification_ + +[cols="<,<",options="header",] +|================= +|Name |Type +|signature |String +|payload |String +|challenge |String +|================= + + + +[[Braintree-ConsumerEndpoints]] +Consumer Endpoints +^^^^^^^^^^^^^^^^^^ + +Any of the producer endpoints can be used as a consumer endpoint. +Consumer endpoints can +use http://camel.apache.org/polling-consumer.html#PollingConsumer-ScheduledPollConsumerOptions[Scheduled +Poll Consumer Options] with a *consumer.* prefix to schedule endpoint +invocation. By default Consumer endpoints that return an array or +collection will generate one exchange per element, and their routes will +be executed once for each exchange. To change this behavior use the +property *consumer.splitResults=true* to return a single exchange for +the entire list or array. + +[[Braintree-MessageHeaders]] +Message Headers +^^^^^^^^^^^^^^^ + +Any URI option can be provided in a message header for producer +endpoints with a *CamelBraintree.* prefix. + +[[Braintree-Messagebody]] +Message body +^^^^^^^^^^^^ + +All result message bodies utilize objects provided by the Braintree Java +SDK. Producer endpoints can specify the option name for incoming message +body in the *inBody* endpoint parameter. + + + + + +[[Braintree-Examples]] +Examples +^^^^^^^^ + +*Blueprint* + +[source,xml] +-------------------------------------------------------------------------------------------------------------------------------------------- +<?xml version="1.0"?> +<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0" + xsi:schemaLocation=" + http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd + http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd"> + + + <cm:property-placeholder id="placeholder" persistent-id="camel.braintree"> + </cm:property-placeholder> + + <bean id="braintree" class="org.apache.camel.component.braintree.BraintreeComponent"> + <property name="configuration"> + <bean class="org.apache.camel.component.braintree.BraintreeConfiguration"> + <property name="environment" value="${environment}"/> + <property name="merchantId" value="${merchantId}"/> + <property name="publicKey" value="${publicKey}"/> + <property name="privateKey" value="${privateKey}"/> + </bean> + </property> + </bean> + + <camelContext trace="true" xmlns="http://camel.apache.org/schema/blueprint" id="braintree-example-context"> + <route id="braintree-example-route"> + <from uri="direct:generateClientToken"/> + <to uri="braintree://clientToken/generate"/> + <to uri="stream:out"/> + </route> + </camelContext> + +</blueprint> +-------------------------------------------------------------------------------------------------------------------------------------------- + +[[Braintree-SeeAlso]] +See Also +^^^^^^^^ + +* +https://cwiki.apache.org/confluence/display/CAMEL/Configuring+Camel[Configuring +Camel] +* https://cwiki.apache.org/confluence/display/CAMEL/Component[Component] +* https://cwiki.apache.org/confluence/display/CAMEL/Endpoint[Endpoint] +* +https://cwiki.apache.org/confluence/display/CAMEL/Getting+Started[Getting +Started] + + + +https://cwiki.apache.org/confluence/display/CAMEL/AMQP[ ] http://git-wip-us.apache.org/repos/asf/camel/blob/0ea358af/docs/user-manual/en/SUMMARY.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md index ceadc22..9b37bbf 100644 --- a/docs/user-manual/en/SUMMARY.md +++ b/docs/user-manual/en/SUMMARY.md @@ -99,6 +99,7 @@ * [Blueprint](blueprint-testing.adoc) * [Boon](boon.adoc) * [Box](box.adoc) + * [Braintree](braintree.adoc) * [CDI](cdi.adoc) * [JMS](jms.adoc) * [Metrics](metrics.adoc)