> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ngapainrepot.space/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ngapainrepot.space/_mcp/server.

# Game Voucher

POST https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase
Content-Type: application/json

Game Voucher

Reference: https://docs.ngapainrepot.space/biller/02-provider-mitra-bukalapak/game-voucher

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: biller
  version: 1.0.0
paths:
  /internal/providers/mitra-bukalapak/direct-purchase:
    post:
      operationId: game-voucher
      summary: Game Voucher
      description: Game Voucher
      tags:
        - subpackage_02ProviderMitraBukalapak
      parameters:
        - name: x-api-key
          in: header
          required: false
          schema:
            type: string
      responses:
        '201':
          description: >-
            0000 - Success / 0030 - Failure / 0033 - Unknown Product / 0068 -
            Pending Advice / 0068 - Pending Advice / 0000 - Success / 0030 -
            Failure / 0033 - Unknown Product / 0068 - Pending Advice / 0068 -
            Pending Advice
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/02 Provider - Mitra
                  Bukalapak_gameVoucher_Response_201
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                orderId:
                  type: string
                phoneNumber:
                  type: string
                productCode:
                  type: string
                providerType:
                  type: string
servers:
  - url: https://c-dev-api.rajabiller.com
    description: https://c-dev-api.rajabiller.com
  - url: '{{base_url}}'
    description: '{{base_url}}'
  - url: https://api.stg.servermitra.com
    description: https://api.stg.servermitra.com
components:
  schemas:
    InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataNormalizedResult:
      type: object
      properties:
        message:
          type: string
        responseCode:
          type: string
        resultStatus:
          type: string
        rootKey:
          type: string
      title: >-
        InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataNormalizedResult
    InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataProviderRequestBody:
      type: object
      properties:
        order_id:
          type: string
        phone_number:
          type: string
        product_code:
          type: string
      title: >-
        InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataProviderRequestBody
    InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataRawProviderResponseGameVoucherTransaction:
      type: object
      properties:
        currency:
          type: string
        message:
          type: string
        order_id:
          type: string
        response_code:
          type: string
        serial_number:
          type: string
        total_price:
          type: string
        voucher_code:
          type: string
      title: >-
        InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataRawProviderResponseGameVoucherTransaction
    InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataRawProviderResponsePrepaidPhoneTransaction:
      type: object
      properties:
        currency:
          type: string
        message:
          type: string
        order_id:
          type: string
        phone_number:
          type: string
        response_code:
          type: string
        serial_number:
          type: string
        total_price:
          type: string
      title: >-
        InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataRawProviderResponsePrepaidPhoneTransaction
    InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataRawProviderResponse:
      type: object
      properties:
        game_voucher_transaction:
          $ref: >-
            #/components/schemas/InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataRawProviderResponseGameVoucherTransaction
        prepaid_phone_transaction:
          $ref: >-
            #/components/schemas/InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataRawProviderResponsePrepaidPhoneTransaction
      title: >-
        InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataRawProviderResponse
    InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        normalizedResult:
          $ref: >-
            #/components/schemas/InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataNormalizedResult
        operation:
          type: string
        providerCode:
          type: string
        providerRequestBody:
          $ref: >-
            #/components/schemas/InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataProviderRequestBody
        providerType:
          type: string
        rawProviderResponse:
          $ref: >-
            #/components/schemas/InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaDataRawProviderResponse
      title: >-
        InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaData
    InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties:
        requestId:
          type: string
        timestamp:
          type: string
      title: >-
        InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaMeta
    02 Provider - Mitra Bukalapak_gameVoucher_Response_201:
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaData
        meta:
          $ref: >-
            #/components/schemas/InternalProvidersMitraBukalapakDirectPurchasePostResponsesContentApplicationJsonSchemaMeta
        success:
          type: boolean
      title: 02 Provider - Mitra Bukalapak_gameVoucher_Response_201

```

## Examples

### 0000 - Success



**Request**

```json
undefined
```

**Response**

```json
{
  "data": {
    "normalizedResult": {
      "message": "successful",
      "responseCode": "0000",
      "resultStatus": "SUCCESS",
      "rootKey": "game_voucher_transaction"
    },
    "operation": "DIRECT_PURCHASE",
    "providerCode": "mitra_bukalapak",
    "providerRequestBody": {
      "order_id": "manual-gv-0000-1780382184",
      "product_code": "game-voucher-test-000000"
    },
    "providerType": "game-voucher",
    "rawProviderResponse": {
      "game_voucher_transaction": {
        "currency": "IDR",
        "message": "successful",
        "order_id": "manual-gv-0000-1780382184",
        "response_code": "0000",
        "serial_number": "",
        "total_price": "5000",
        "voucher_code": "testIDRxxk-1000552989"
      }
    }
  },
  "meta": {
    "requestId": "req_c864e125-fa75-49df-9c2f-d83965be658d",
    "timestamp": "2026-06-02T06:36:26.000Z"
  },
  "success": true
}
```

**SDK Code**

```python 0000 - Success
import requests

url = "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

headers = {"Content-Type": "application/json"}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript 0000 - Success
const url = 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase';
const options = {method: 'POST', headers: {'Content-Type': 'application/json'}, body: undefined};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go 0000 - Success
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby 0000 - Success
require 'uri'
require 'net/http'

url = URI("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'

response = http.request(request)
puts response.read_body
```

```java 0000 - Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")
  .header("Content-Type", "application/json")
  .asString();
```

```php 0000 - Success
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase', [
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp 0000 - Success
using RestSharp;

var client = new RestClient("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
IRestResponse response = client.Execute(request);
```

```swift 0000 - Success
import Foundation

let headers = ["Content-Type": "application/json"]

let request = NSMutableURLRequest(url: NSURL(string: "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### 0030 - Failure



**Request**

```json
undefined
```

**Response**

```json
{
  "data": {
    "normalizedResult": {
      "message": "invalid message",
      "responseCode": "0030",
      "resultStatus": "PENDING",
      "rootKey": "game_voucher_transaction"
    },
    "operation": "DIRECT_PURCHASE",
    "providerCode": "mitra_bukalapak",
    "providerRequestBody": {
      "order_id": "manual-gv-0030-1780387557",
      "product_code": "game-voucher-test-000030"
    },
    "providerType": "game-voucher",
    "rawProviderResponse": {
      "game_voucher_transaction": {
        "currency": "IDR",
        "message": "invalid message",
        "order_id": "manual-gv-0030-1780387557",
        "response_code": "0030",
        "serial_number": "",
        "total_price": "5000",
        "voucher_code": ""
      }
    }
  },
  "meta": {
    "requestId": "req_32a01adc-cb0c-4ed0-a16e-c0570533b49b",
    "timestamp": "2026-06-02T08:05:58.342Z"
  },
  "success": true
}
```

**SDK Code**

```python 0030 - Failure
import requests

url = "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

headers = {"Content-Type": "application/json"}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript 0030 - Failure
const url = 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase';
const options = {method: 'POST', headers: {'Content-Type': 'application/json'}, body: undefined};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go 0030 - Failure
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby 0030 - Failure
require 'uri'
require 'net/http'

url = URI("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'

response = http.request(request)
puts response.read_body
```

```java 0030 - Failure
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")
  .header("Content-Type", "application/json")
  .asString();
```

```php 0030 - Failure
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase', [
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp 0030 - Failure
using RestSharp;

var client = new RestClient("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
IRestResponse response = client.Execute(request);
```

```swift 0030 - Failure
import Foundation

let headers = ["Content-Type": "application/json"]

let request = NSMutableURLRequest(url: NSURL(string: "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### 0033 - Unknown Product



**Request**

```json
undefined
```

**Response**

```json
{
  "data": {
    "normalizedResult": {
      "message": "unknown product",
      "responseCode": "0033",
      "resultStatus": "PENDING",
      "rootKey": "game_voucher_transaction"
    },
    "operation": "DIRECT_PURCHASE",
    "providerCode": "mitra_bukalapak",
    "providerRequestBody": {
      "order_id": "manual-gv-0033-1780387623",
      "product_code": "game-voucher-test-000033"
    },
    "providerType": "game-voucher",
    "rawProviderResponse": {
      "game_voucher_transaction": {
        "currency": "IDR",
        "message": "unknown product",
        "order_id": "manual-gv-0033-1780387623",
        "response_code": "0033",
        "serial_number": "",
        "total_price": "5000",
        "voucher_code": ""
      }
    }
  },
  "meta": {
    "requestId": "req_45d2f4e6-6d43-49a1-9263-c77ac987e59d",
    "timestamp": "2026-06-02T08:07:03.723Z"
  },
  "success": true
}
```

**SDK Code**

```python 0033 - Unknown Product
import requests

url = "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

headers = {"Content-Type": "application/json"}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript 0033 - Unknown Product
const url = 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase';
const options = {method: 'POST', headers: {'Content-Type': 'application/json'}, body: undefined};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go 0033 - Unknown Product
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby 0033 - Unknown Product
require 'uri'
require 'net/http'

url = URI("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'

response = http.request(request)
puts response.read_body
```

```java 0033 - Unknown Product
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")
  .header("Content-Type", "application/json")
  .asString();
```

```php 0033 - Unknown Product
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase', [
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp 0033 - Unknown Product
using RestSharp;

var client = new RestClient("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
IRestResponse response = client.Execute(request);
```

```swift 0033 - Unknown Product
import Foundation

let headers = ["Content-Type": "application/json"]

let request = NSMutableURLRequest(url: NSURL(string: "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### 0068 - Pending Advice



**Request**

```json
undefined
```

**Response**

```json
{
  "data": {
    "normalizedResult": {
      "message": "pending",
      "responseCode": "0068",
      "resultStatus": "PENDING",
      "rootKey": "prepaid_phone_transaction"
    },
    "operation": "DIRECT_PURCHASE",
    "providerCode": "mitra_bukalapak",
    "providerRequestBody": {
      "order_id": "manual-phone-topup-1780385856",
      "phone_number": "[REDACTED]",
      "product_code": "topup-telkomsel-50000"
    },
    "providerType": "prepaid-phone-topup",
    "rawProviderResponse": {
      "prepaid_phone_transaction": {
        "currency": "IDR",
        "message": "pending",
        "order_id": "manual-phone-topup-1780385856",
        "phone_number": "[REDACTED]",
        "response_code": "0068",
        "serial_number": "",
        "total_price": "52490"
      }
    }
  },
  "meta": {
    "requestId": "req_2e96f7fb-5914-4658-8dfe-e08f3d84ea00",
    "timestamp": "2026-06-02T07:37:39.289Z"
  },
  "success": true
}
```

**SDK Code**

```python 0068 - Pending Advice
import requests

url = "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

headers = {"Content-Type": "application/json"}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript 0068 - Pending Advice
const url = 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase';
const options = {method: 'POST', headers: {'Content-Type': 'application/json'}, body: undefined};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go 0068 - Pending Advice
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby 0068 - Pending Advice
require 'uri'
require 'net/http'

url = URI("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'

response = http.request(request)
puts response.read_body
```

```java 0068 - Pending Advice
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")
  .header("Content-Type", "application/json")
  .asString();
```

```php 0068 - Pending Advice
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase', [
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp 0068 - Pending Advice
using RestSharp;

var client = new RestClient("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
IRestResponse response = client.Execute(request);
```

```swift 0068 - Pending Advice
import Foundation

let headers = ["Content-Type": "application/json"]

let request = NSMutableURLRequest(url: NSURL(string: "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Game Voucher



**Request**

```json
{
  "orderId": "manual-gv-0068-1782388578",
  "productCode": "game-voucher-test-000068",
  "providerType": "game-voucher"
}
```

**Response**

```json
{
  "data": {
    "normalizedResult": {
      "message": "successful",
      "responseCode": "0000",
      "resultStatus": "SUCCESS",
      "rootKey": "game_voucher_transaction"
    },
    "operation": "DIRECT_PURCHASE",
    "providerCode": "mitra_bukalapak",
    "providerRequestBody": {
      "order_id": "manual-gv-0000-1780382184",
      "product_code": "game-voucher-test-000000"
    },
    "providerType": "game-voucher",
    "rawProviderResponse": {
      "game_voucher_transaction": {
        "currency": "IDR",
        "message": "successful",
        "order_id": "manual-gv-0000-1780382184",
        "response_code": "0000",
        "serial_number": "",
        "total_price": "5000",
        "voucher_code": "testIDRxxk-1000552989"
      }
    }
  },
  "meta": {
    "requestId": "req_c864e125-fa75-49df-9c2f-d83965be658d",
    "timestamp": "2026-06-02T06:36:26.000Z"
  },
  "success": true
}
```

**SDK Code**

```python Game Voucher
import requests

url = "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

payload = {
    "orderId": "manual-gv-0068-1782388578",
    "productCode": "game-voucher-test-000068",
    "providerType": "game-voucher"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Game Voucher
const url = 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"orderId":"manual-gv-0068-1782388578","productCode":"game-voucher-test-000068","providerType":"game-voucher"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Game Voucher
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

	payload := strings.NewReader("{\n  \"orderId\": \"manual-gv-0068-1782388578\",\n  \"productCode\": \"game-voucher-test-000068\",\n  \"providerType\": \"game-voucher\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Game Voucher
require 'uri'
require 'net/http'

url = URI("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"orderId\": \"manual-gv-0068-1782388578\",\n  \"productCode\": \"game-voucher-test-000068\",\n  \"providerType\": \"game-voucher\"\n}"

response = http.request(request)
puts response.read_body
```

```java Game Voucher
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")
  .header("Content-Type", "application/json")
  .body("{\n  \"orderId\": \"manual-gv-0068-1782388578\",\n  \"productCode\": \"game-voucher-test-000068\",\n  \"providerType\": \"game-voucher\"\n}")
  .asString();
```

```php Game Voucher
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase', [
  'body' => '{
  "orderId": "manual-gv-0068-1782388578",
  "productCode": "game-voucher-test-000068",
  "providerType": "game-voucher"
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Game Voucher
using RestSharp;

var client = new RestClient("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"orderId\": \"manual-gv-0068-1782388578\",\n  \"productCode\": \"game-voucher-test-000068\",\n  \"providerType\": \"game-voucher\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Game Voucher
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "orderId": "manual-gv-0068-1782388578",
  "productCode": "game-voucher-test-000068",
  "providerType": "game-voucher"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Phone Data - Success



**Request**

```json
{
  "orderId": "manual-phone-plan-1782388578",
  "phoneNumber": "081234567890",
  "productCode": "prepaid-phone-plan-10000",
  "providerType": "prepaid-phone-plan"
}
```

**Response**

```json
{
  "data": {
    "normalizedResult": {
      "message": "successful",
      "responseCode": "0000",
      "resultStatus": "SUCCESS",
      "rootKey": "game_voucher_transaction"
    },
    "operation": "DIRECT_PURCHASE",
    "providerCode": "mitra_bukalapak",
    "providerRequestBody": {
      "order_id": "manual-gv-0000-1780382184",
      "product_code": "game-voucher-test-000000"
    },
    "providerType": "game-voucher",
    "rawProviderResponse": {
      "game_voucher_transaction": {
        "currency": "IDR",
        "message": "successful",
        "order_id": "manual-gv-0000-1780382184",
        "response_code": "0000",
        "serial_number": "",
        "total_price": "5000",
        "voucher_code": "testIDRxxk-1000552989"
      }
    }
  },
  "meta": {
    "requestId": "req_c864e125-fa75-49df-9c2f-d83965be658d",
    "timestamp": "2026-06-02T06:36:26.000Z"
  },
  "success": true
}
```

**SDK Code**

```python Phone Data - Success
import requests

url = "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

payload = {
    "orderId": "manual-phone-plan-1782388578",
    "phoneNumber": "081234567890",
    "productCode": "prepaid-phone-plan-10000",
    "providerType": "prepaid-phone-plan"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Phone Data - Success
const url = 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"orderId":"manual-phone-plan-1782388578","phoneNumber":"081234567890","productCode":"prepaid-phone-plan-10000","providerType":"prepaid-phone-plan"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Phone Data - Success
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

	payload := strings.NewReader("{\n  \"orderId\": \"manual-phone-plan-1782388578\",\n  \"phoneNumber\": \"081234567890\",\n  \"productCode\": \"prepaid-phone-plan-10000\",\n  \"providerType\": \"prepaid-phone-plan\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Phone Data - Success
require 'uri'
require 'net/http'

url = URI("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"orderId\": \"manual-phone-plan-1782388578\",\n  \"phoneNumber\": \"081234567890\",\n  \"productCode\": \"prepaid-phone-plan-10000\",\n  \"providerType\": \"prepaid-phone-plan\"\n}"

response = http.request(request)
puts response.read_body
```

```java Phone Data - Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")
  .header("Content-Type", "application/json")
  .body("{\n  \"orderId\": \"manual-phone-plan-1782388578\",\n  \"phoneNumber\": \"081234567890\",\n  \"productCode\": \"prepaid-phone-plan-10000\",\n  \"providerType\": \"prepaid-phone-plan\"\n}")
  .asString();
```

```php Phone Data - Success
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase', [
  'body' => '{
  "orderId": "manual-phone-plan-1782388578",
  "phoneNumber": "081234567890",
  "productCode": "prepaid-phone-plan-10000",
  "providerType": "prepaid-phone-plan"
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Phone Data - Success
using RestSharp;

var client = new RestClient("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"orderId\": \"manual-phone-plan-1782388578\",\n  \"phoneNumber\": \"081234567890\",\n  \"productCode\": \"prepaid-phone-plan-10000\",\n  \"providerType\": \"prepaid-phone-plan\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Phone Data - Success
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "orderId": "manual-phone-plan-1782388578",
  "phoneNumber": "081234567890",
  "productCode": "prepaid-phone-plan-10000",
  "providerType": "prepaid-phone-plan"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Phone Prepaid



**Request**

```json
{
  "orderId": "manual-phone-topup-1782388578",
  "phoneNumber": "081234567890",
  "productCode": "topup-telkomsel-50000",
  "providerType": "prepaid-phone-topup"
}
```

**Response**

```json
{
  "data": {
    "normalizedResult": {
      "message": "successful",
      "responseCode": "0000",
      "resultStatus": "SUCCESS",
      "rootKey": "game_voucher_transaction"
    },
    "operation": "DIRECT_PURCHASE",
    "providerCode": "mitra_bukalapak",
    "providerRequestBody": {
      "order_id": "manual-gv-0000-1780382184",
      "product_code": "game-voucher-test-000000"
    },
    "providerType": "game-voucher",
    "rawProviderResponse": {
      "game_voucher_transaction": {
        "currency": "IDR",
        "message": "successful",
        "order_id": "manual-gv-0000-1780382184",
        "response_code": "0000",
        "serial_number": "",
        "total_price": "5000",
        "voucher_code": "testIDRxxk-1000552989"
      }
    }
  },
  "meta": {
    "requestId": "req_c864e125-fa75-49df-9c2f-d83965be658d",
    "timestamp": "2026-06-02T06:36:26.000Z"
  },
  "success": true
}
```

**SDK Code**

```python Phone Prepaid
import requests

url = "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

payload = {
    "orderId": "manual-phone-topup-1782388578",
    "phoneNumber": "081234567890",
    "productCode": "topup-telkomsel-50000",
    "providerType": "prepaid-phone-topup"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Phone Prepaid
const url = 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"orderId":"manual-phone-topup-1782388578","phoneNumber":"081234567890","productCode":"topup-telkomsel-50000","providerType":"prepaid-phone-topup"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Phone Prepaid
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase"

	payload := strings.NewReader("{\n  \"orderId\": \"manual-phone-topup-1782388578\",\n  \"phoneNumber\": \"081234567890\",\n  \"productCode\": \"topup-telkomsel-50000\",\n  \"providerType\": \"prepaid-phone-topup\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Phone Prepaid
require 'uri'
require 'net/http'

url = URI("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"orderId\": \"manual-phone-topup-1782388578\",\n  \"phoneNumber\": \"081234567890\",\n  \"productCode\": \"topup-telkomsel-50000\",\n  \"providerType\": \"prepaid-phone-topup\"\n}"

response = http.request(request)
puts response.read_body
```

```java Phone Prepaid
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")
  .header("Content-Type", "application/json")
  .body("{\n  \"orderId\": \"manual-phone-topup-1782388578\",\n  \"phoneNumber\": \"081234567890\",\n  \"productCode\": \"topup-telkomsel-50000\",\n  \"providerType\": \"prepaid-phone-topup\"\n}")
  .asString();
```

```php Phone Prepaid
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase', [
  'body' => '{
  "orderId": "manual-phone-topup-1782388578",
  "phoneNumber": "081234567890",
  "productCode": "topup-telkomsel-50000",
  "providerType": "prepaid-phone-topup"
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Phone Prepaid
using RestSharp;

var client = new RestClient("https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"orderId\": \"manual-phone-topup-1782388578\",\n  \"phoneNumber\": \"081234567890\",\n  \"productCode\": \"topup-telkomsel-50000\",\n  \"providerType\": \"prepaid-phone-topup\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Phone Prepaid
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "orderId": "manual-phone-topup-1782388578",
  "phoneNumber": "081234567890",
  "productCode": "topup-telkomsel-50000",
  "providerType": "prepaid-phone-topup"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://c-dev-api.rajabiller.com/internal/providers/mitra-bukalapak/direct-purchase")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```