# 請求書カード払い更新

`POST /v1/business_payments/{id}`

- operationId: `updateBusinessPayment`
- tags: 請求書カード払い

指定したIDの請求書カード払い情報を更新します。


## コードサンプル

### cURL

```bash
curl \
    -X POST \
    -H "Authorization:Bearer <Secret API Key>" \
    -H "Content-Type: multipart/form-data" \
    -H "Tenant-Buyer-Id: b_***********" \
    -F 'data=@<File Name>;type=application/json' \
    -F 'invoice_file=@<File Name>' \
'https://api.test.fincode.jp/v1/business_payments/bp_VbZbE8t6RMGIsIfOP3U7ww
```

### Node.js

```javascript
const API_KEY = "<Secret API Key>";
const BUSINESS_PAYMENT_ID = "bp_VbZbE8t6RMGIsIfOP3U7ww";

const form = new FormData();

form.append("invoice_file", "<File>");
form.append("data", `{
    billing_amount: 10000,
    card_token: null,
    due_date: "2025/05/11",
    invoice_file_name_display: "請求書.pdf",
    remitter_name: "カタカナ テストタロウ XYZ",
    payee: {
        company_name: "株式会社アイネット",
        corporate: "0",
        representative_name: "株式会社アイネット",
        invoice_registration_number: "T7020001030145",
        addr_post_code: "220-0012",
        addr_state: "横浜市",
        addr_city: "西区",
        addr_line_1: "みなとみらい5-1-2",
        addr_line_2: "横浜シンフォステージ ウエストタワー13階",
        email: "test@test.com",
        phone_no: "045-682-0845",
    },
    payee_bank: {
        bank_code: "0011",
        bank_name: "三井住友",
        branch_code: "012",
        branch_name: "横浜",
        account_kind: 1,
        account_number: "4108217",
        account_name: "カテスト タロウ",
    },
}`);

(async () => {
    const response = await fetch(`https://api.test.fincode.jp/v1/business_payments/${BUSINESS_PAYMENT_ID}`, {
        method: "POST",
        headers: {
            Authorization: `Bearer ${API_KEY}`,
            "Content-Type": "multipart/form-data",
            "Tenant-Buyer-Id": "b_***********",
        },
        body: form,
    });

    const data = await response.json();
    console.log(data);
})();
```

### Go

```go
package main

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

func main() {
    body := []byte(`{"invoice_file":"string <binary>","data":"{
        BillingAmount:           10000,
        CardToken:               nil,
        BusinessPaymentsCardID:  "1234",
        CardRegisterFlag:        nil,
        DueDate:                 "2025/05/11",
        InvoiceFileNameDisplay:  "請求書.pdf",
        RemitterName:            "カタカナ テストタロウ XYZ",
        Payee: Payee{
            CompanyName:               "株式会社アイネット",
            Corporate:                 "0",
            RepresentativeName:        "株式会社アイネット",
            InvoiceRegistrationNumber: "T7020001030145",
            AddrPostCode:              "220-0012",
            AddrState:                 "横浜市",
            AddrCity:                  "西区",
            AddrLine1:                 "みなとみらい5-1-2",
            AddrLine2:                 "横浜シンフォステージ ウエストタワー13階",
            Email:                     "test@test.com",
            PhoneNo:                   "045-682-0845",
        },
        PayeeBank: PayeeBank{
            BankCode:      "0011",
            BankName:      "三井住友",
            BranchCode:    "012",
            BranchName:    "横浜",
            AccountKind:   1,
            AccountNumber: "4108217",
            AccountName:   "カテスト タロウ",
        },
    }"}`)

    req, err := http.NewRequest(http.MethodPost, "https://api.test.fincode.jp/v1/business_payments/bp_abc123", bytes.NewBuffer(body))
    if err != nil {
        panic(err)
    }

    req.Header.Set("Authorization", "Bearer <Secret API Key>")
    req.Header.Set("Content-Type", "multipart/form-data")
    req.Header.Set("Tenant-Buyer-Id", "b_***********")

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    b, err := io.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(b))
}
```

### PHP

```php
<?php

$payload = json_encode([
    'billing_amount' => 10000,
    'card_token' => null,
    'due_date' => '2025/05/11',
    'invoice_file_name_display' => '請求書.pdf',
    'remitter_name' => 'カタカナ テストタロウ XYZ',
    'payee' => [
        'company_name' => '株式会社アイネット',
        'corporate' => '0',
        'representative_name' => '株式会社アイネット',
        'invoice_registration_number' => 'T7020001030145',
        'addr_post_code' => '220-0012',
        'addr_state' => '横浜市',
        'addr_city' => '西区',
        'addr_line_1' => 'みなとみらい5-1-2',
        'addr_line_2' => '横浜シンフォステージ ウエストタワー13階',
        'email' => 'test@test.com',
        'phone_no' => '045-682-0845',
    ],
    'payee_bank' => [
        'bank_code' => '0011',
        'bank_name' => '三井住友',
        'branch_code' => '012',
        'branch_name' => '横浜',
        'account_kind' => 1,
        'account_number' => '4108217',
        'account_name' => 'カテスト タロウ',
    ],
]);

$ch = curl_init('https://api.test.fincode.jp/v1/business_payments/bp_VbZbE8t6RMGIsIfOP3U7ww');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer <Secret API Key>',
    'Content-Type: multipart/form-data',
    'Tenant-Buyer-Id: b_***********'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
```

### Python 3

```python
import requests

api_key = '<Secret API Key>'

url = 'https://api.test.fincode.jp/v1/business_payments/bp_VbZbE8t6RMGIsIfOP3U7ww'
headers = {
    'Authorization': f'Bearer {api_key}',
    'Content-Type': 'multipart/form-data'
    'Tenant-Buyer-Id': 'b_***********'
}
data = {
    'billing_amount': 10000,
    'card_token': None,
    'due_date': '2025/05/11',
    'invoice_file_name_display': '請求書.pdf',
    'remitter_name': 'カタカナ テストタロウ XYZ',
    'payee': {
        'company_name': '株式会社アイネット',
        'corporate': '0',
        'representative_name': '株式会社アイネット',
        'invoice_registration_number': 'T7020001030145',
        'addr_post_code': '220-0012',
        'addr_state': '横浜市',
        'addr_city': '西区',
        'addr_line_1': 'みなとみらい5-1-2',
        'addr_line_2': '横浜シンフォステージ ウエストタワー13階',
        'email': 'test@test.com',
        'phone_no': '045-682-0845'
    },
    'payee_bank': {
        'bank_code': '0011',
        'bank_name': '三井住友',
        'branch_code': '012',
        'branch_name': '横浜',
        'account_kind': 1,
        'account_number': '4108217',
        'account_name': 'カテスト タロウ'
    }
}

response = requests.post(url, headers=headers, json=data)
print(response.text)
```

### Ruby

```ruby
require "net/http"
require "uri"
require "json"

uri = URI.parse("https://api.test.fincode.jp/v1/business_payments/bp_VbZbE8t6RMGIsIfOP3U7ww")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer <Secret API Key>"
request["Content-Type"] = "multipart/form-data"
request["Tenant-Buyer-Id"] = "b_***********"
request.body = {
  billing_amount: 10000,
  card_token: nil,
  due_date: "2025/05/11",
  invoice_file_name_display: "請求書.pdf",
  remitter_name: "カタカナ テストタロウ XYZ",
  payee: {
    company_name: "株式会社アイネット",
    corporate: "0",
    representative_name: "株式会社アイネット",
    invoice_registration_number: "T7020001030145",
    addr_post_code: "220-0012",
    addr_state: "横浜市",
    addr_city: "西区",
    addr_line_1: "みなとみらい5-1-2",
    addr_line_2: "横浜シンフォステージ ウエストタワー13階",
    email: "test@test.com",
    phone_no: "045-682-0845"
  },
  payee_bank: {
    bank_code: "0011",
    bank_name: "三井住友",
    branch_code: "012",
    branch_name: "横浜",
    account_kind: 1,
    account_number: "4108217",
    account_name: "カテスト タロウ"
  }
}.to_json

response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
  http.request(request)
end

puts response.body
```

## パラメータ

| 名前 | 位置 | 必須 | 型 | 説明 |
| --- | --- | --- | --- | --- |
| `Tenant-Buyer-Id` | header | ✓ | schema | <span class="smallText color--red-400">※ バイヤープラットフォームのみ指定可</span> |
| `id` | path | ✓ | string | 取引ID |

## リクエストボディ

Content-Type: `multipart/form-data`

| パラメータ | 型 | 必須 | 説明 |
| --- | --- | --- | --- |
| `invoice_file` | string(binary) |  | アップロードファイル（未設定の場合はS3アップロード不要） |
| `data` | BusinessPayment.Updating.Request.detail | ✓ |  |

## レスポンス

### 200 リクエストに成功

| パラメータ | 型 | 必須 | 説明 |
| --- | --- | --- | --- |
| `access_id` | string |  | 取引ID |

### 400 不正なリクエスト

| パラメータ | 型 | 必須 | 説明 |
| --- | --- | --- | --- |
| `errors` | array<FincodeAPIError> |  |  |

