> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Using Subscribe to query BOKU

Subscribe also provides a “data pipe” which allows users to perform the following queries directly against the BOKU web site:

price

service-prices

lookup

verify-trx-id

## Create a simple BOKU price query

```

 $provider = new paymentProvider();
 $rc = $provider->dataRequest('price',
 [
 NameValuePair->new(name => 'reference-currency',
 value => 'USD'),
 NameValuePair->new(name => 'service-id',
 value => '140ba94f2c24e44b5cb85730')
 ]
 );
 
 // The return from this call (as well as all data request calls) 
 // includes two components:
 $rc->request //Contains the Vindicia formatted request sent to BOKU.
 $rc->response //Contains BOKU's response
```

## Create a BOKU price request using dynamic pricing criteria

```

 $provider = new paymentProvider();
 $rc = $provider->dataRequest('price',
 [
 NameValuePair->new(name => 'reference-currency',
 value => 'USD'),
 NameValuePair->new(name => 'service-id',
 value => '140ba94f2c24e44b5cb85730'),
 NameValuePair->new(name => 'dynamic-price-mode',
 value => 'price'),
 NameValuePair->new(name => 'dynamic-deviation',
 value => 20),
 NameValuePair->new(name => 'dynamic-deviation-policy',
 value => 'hi-preferred'),
 NameValuePair->new(name => 'dynamic-match',
 value => 0),
 NameValuePair->new(name => 'currency',
 value => 'USD'),
 NameValuePair->new(name => 'target',
 value => 1000)
 ]
 );
```

This request would produce a BOKU query similar to the following:

```

 [BOKU URL]?action=price&service-id=14246ab82c24e44bf9862406
 &dynamic-price-mode=price&dynamic-deviation=20
 &dynamic-deviation-policy=hi-preferred
 &dynamic-match=0&currency=USD&target=1000
```

## Create a BOKU service-prices request

Service-prices requests allow you to restrict output by (service table) row and country. The following example restricts output to row: 2, and country: New Zealand.

```

 $provider = new paymentProvider();
 $rc = $provider->dataRequest('service-prices',
 [
 NameValuePair->new(name => 'service-id',
 value => '140ba94f2c24e44b5cb85730'),
 NameValuePair->new(name => 'country',
 value => 'NZ'),
 NameValuePair->new(name => 'row-ref',
 ]
 );
```

## Create a "lookup" data request to determine the country associated with an IP address

```

 $provider = new paymentProvider();
 $rc = $provider->dataRequest('lookup',
 [
 NameValuePair->new(name => 'ip-address',
 value => '23.11.248.110')
 ]
 );
```

## Check the status of a BOKU Transaction

```

  $provider = new (paymentProvider();
  $rc = $provider->dataRequest('verify-trx-id',
  [
  NameValuePair->new(name => 'trx-id',
  value => [THE ID ASSIGNED TO THIS TRANSACTION BY BOKU])
  ]
  );
```

**Parent topic:**[Using Carrier Billing for One-Time Transactions](../topics/Using_Carrier_Billing_fo)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.